我希望从 .NET 7 iOS 应用程序启动 .NET MAUI 应用程序。我也期待启动的应用程序返回数据。
我正在使用
if(UIApplication.SharedApplication.CanOpenUrl(new NSUrl("urlScheme://")))
{
UIApplication.SharedApplication.OpenUrl(new NSUrl("urlScheme://"));
}
有人可以澄清一下这个 urlScheme 应该在 MAUI 应用程序的 info.plist 中的哪个键下指定吗?一篇文章提到了 LSApplicationQueriesSchemes。我尝试过,但是如果条件返回 false,表明该应用程序无法使用此方案打开应用程序。
Got it working! If App A needs to call App B, then in B's info.plist you need to declare:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>targetapp</string>
</array>
</dict>
</array>
In A's info.plist
<key>LSApplicationQueriesSchemes</key>
<array>
<string>targetapp</string>
</array>
Then you can use the following in the AppDelegate to launch app B.
if(UIApplication.SharedApplication.CanOpenUrl(new NSUrl("targetapp://")))
{
UIApplication.SharedApplication.OpenUrl(new NSUrl("targetapp://"));
}