以下URL在iOS 8.3及更低版本上打开,但它不起作用且iOS 9
let instagramURL = NSURL(string: "instagram://app")
Run Code Online (Sandbox Code Playgroud)
为什么网址不会打开?
the*_*aws 207
iOS 9对URL方案的处理做了一些小改动.您必须使用您的应用中的LSApplicationQueriesSchemes密钥将您的应用所呼叫的网址列入白名单Info.plist.
请看这里的帖子:http://awkwardhare.com/post/121196006730/quick-take-on-ios-9-url-scheme-changes
主要结论是:
如果您对不在白名单中的URL调用"canOpenURL"方法,即使安装了已注册处理此方案的应用程序,它也将返回"NO".将出现"此应用程序不允许查询方案xxx"syslog条目.
如果您对不在白名单中的网址调用"openURL"方法,则会以静默方式失败.将出现"此应用程序不允许查询方案xxx"syslog条目.
作者还推测这是操作系统的一个错误,Apple将在后续版本中修复此问题.
Mat*_*uif 152
如上所述,您想在信息plist中添加一个键,这是大多数社交网络的列表
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fb</string>
<string>fbapi</string>
<string>fbauth2</string>
<string>fbshareextension</string>
<string>fb-messenger-api</string>
<string>twitter</string>
<string>viber</string>
<string>whatsapp</string>
<string>wechat</string>
<string>line</string>
<string>instagram</string>
<string> instagram-stories</string>
<string>kakaotalk</string>
<string>mqq</string>
<string>vk</string>
<string>comgooglemaps</string>
<string>googlephotos</string>
<string>ha</string>
<string>yammer</string>
</array>
Run Code Online (Sandbox Code Playgroud)
*前三场比赛Facebook(FBSDK 4.6):fbapi,fbauth2,fbshareextension."哈"是为了冒险
Leo*_*ica 86
这是iOS 9的新安全功能.观看WWDC 2015 Session 703以获取更多信息.
使用SDK 9构建的任何应用程序都需要LSApplicationQueriesSchemes在其plist文件中提供一个条目,声明它尝试查询哪些方案.
<key>LSApplicationQueriesSchemes</key>
<array>
<string>urlscheme</string>
<string>urlscheme2</string>
<string>urlscheme3</string>
<string>urlscheme4</string>
</array>
Run Code Online (Sandbox Code Playgroud)
Aws*_*sed 25
假设有两个应用程序TestA和TestB.TestB想要查询是否安装了TestA."TestA"在其info.plist文件中定义了以下URL方案:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>testA</string>
</array>
</dict>
</array>
Run Code Online (Sandbox Code Playgroud)
第二个应用程序"TestB"试图通过调用以确定是否安装了"TestA":
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"TestA://"]];
Run Code Online (Sandbox Code Playgroud)
但这通常会在iOS9中返回NO,因为需要将"TestA"添加到TestB的info.plist文件中的LSApplicationQueriesSchemes条目中.这是通过将以下代码添加到TestB的info.plist文件来完成的:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>TestA</string>
</array>
Run Code Online (Sandbox Code Playgroud)
可以在此处找到有效的实现:https: //github.com/gatzsche/LSApplicationQueriesSchemes-Working-Example
Kae*_*aey 22
来自,会议703 WWDC 2015:
您可以在为iOS 9构建应用程序时继续使用URL方案,并且要调用URL方案,现在需要在应用程序Info.plist中声明它们.有一个新密钥,
LSApplicationQueriesSchemes在这里你需要添加你想要的方案列表canOpenURL.
| 归档时间: |
|
| 查看次数: |
100347 次 |
| 最近记录: |