【发布时间】:2016-10-14 15:48:01
【问题描述】:
我正在开发一个 ios 框架(可以使用 cocoapods 安装)。当调用这个框架的一个方法时,它会在 safari 上打开一个 url。如果其他应用程序能够使用通用链接处理该 url,那么它将启动该应用程序。
我试图调用(在目标部署 ios 8.0 的 ios 9.3 模拟器中
[[UIApplication sharedApplication] openURL:url];
以上代码在任何 ios 应用程序中都能完美运行。但是,当我将相同的代码放在另一个应用程序中包含的框架中时,它会出现异常和应用程序崩溃。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString scheme]: unrecognized selector sent to instance 0x7fc070717e00'
框架内部的工作方式是否不同?什么是正确的方法。在此示例中,我尝试打开常规 https 链接。
谢谢
【问题讨论】:
-
您的目标平台和部署目标是什么?第二种方法从 iOS 10 开始可用。
-
目标部署是 ios 8.0,我在模拟器 ios 9.3 中运行它。我先尝试过第一个。两者都不起作用。
-
那么请使用第一种方法显示确切的用法和确切的错误信息。
-
谢谢!我已经更新了问题。
-
看起来您调用的参数有误。可能你在请求 NSURL 的地方传递了一个 NSString。
标签: ios objective-c cocoapods ios-frameworks