【问题标题】:Opening another (mine) application from my main application Swift从我的主应用程序 Swift 打开另一个(我的)应用程序
【发布时间】:2016-05-31 08:42:50
【问题描述】:

我有两个应用程序,我想互相打开它们(就像 facebook 打开 Messenger)。

经过一番搜索,我发现我必须知道我的应用程序的 url 方案,但我不知道如何声明它。在我的 urlSchemes 中只有 facebook 的方案。

var url  = NSURL(string: "")  
UIApplication.sharedApplication().canOpenURL(url!)

我找到了该代码,据我所知,我必须在我的 urlScheme 中输入 url。

有什么帮助吗?

【问题讨论】:

  • 能写出plist文件的源码吗?
  • 你想要什么部分,因为它太大而且它不允许我将它作为评论发布
  • @Hodson thnx 对于您的回答,我可以用它打开另一个应用程序还是仅用于 safari?
  • @mikevorisis 您可以使用它从您的第一个应用程序以及 safari 中打开您的第二个应用程序。您可能还想查看Deep-linking into an app 教程,您可以在我已经链接到您的教程的左侧菜单中找到该教程。

标签: ios swift facebook uiapplication


【解决方案1】:

这是一个关于在您的应用程序中设置 URL 方案的好教程:https://dev.twitter.com/cards/mobile/url-schemes

万一本教程消失,这里是信息:

配置我们的 Xcode 项目

转到Your Target > 信息 > URL 类型

您需要定义您的自定义 URL 类型。请记住,您想通过birdland:// 打开应用程序,这将是您的 URL 方案。我们还需要为方案分配一个唯一标识符。 Apple 建议您使用反向 DNS 表示法以确保平台上没有名称冲突,例如 com.mycompany.ios

就是这样!您已经为应用程序配置了对 URL 方案 birdland:// 的简单支持。当然,您可以使用自定义 URL 方案做更多的事情。要了解更多信息,请查看Apple’s documentation

现在,为了检查我们注册的 URL 方案是否有效,我们将前往 Safari。按模拟器中的“主页”按钮(或按 command-shift-H)进入主屏幕。打开 Safari。

接下来,在 Safari 的地址栏中输入birdland://。就像使用 http:// URL 一样,您要求 Safari 打开“birdland”方案。按开始。

【讨论】:

  • var url = NSURL(string: "") if UIApplication.sharedApplication().canOpenURL(url!) == true UIApplication.sharedApplication().openURL(url!) 这是设置后的最终代码为任何想要执行此操作的人设置 urlscheme,您还必须设置 info.plist 并将您的方案字符串放在 LSApplicationQueriesSchemes 下
【解决方案2】:
NSString *openAppURL = @"yourappname://";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:openAppURL]];

//check if app is installed or not
BOOL canOpenURL = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:openAppURL]];

【讨论】:

  • 谢谢你的回答,但这是客观的 c,它不能回答我的问题。
猜你喜欢
  • 1970-01-01
  • 2022-01-12
  • 2011-03-21
  • 2011-02-24
  • 2021-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多