我正在开发一个本机iOS应用程序,在我的Info.plist.xml中我得到了:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>digitalsigner.com</string>
<key>CFBundleURLSchemes</key>
<array>
<string>http</key>
</array>
</dict>
</array>
当我在iOS模拟器的Safari中调用时:http://digitalsigner.com或者如果我打开一个带有http://digitalsigner.com链接的html页面,我的应用程序就没有启动。
我做错了什么,或者缺少什么?
谢谢你, 最好的祝福, 威廉。
答案 0 :(得分:2)
如果多个应用程序注册了URL方案,则系统行为未定义。由于http的系统默认设置肯定是在Safari中注册的,因此我不会为您自己的应用程序提供足够的库存。
Apple为http,mailto,tel和sms URL方案提供内置支持。它还支持针对地图,YouTube和iPod应用的基于http的网址。这些方案的处理程序是固定的,不能更改。如果您的网址类型包含的方案与Apple定义的方案相同,则会启动Apple提供的应用而不是您的应用。 注意:如果多个第三方应用程序注册以处理相同的URL方案,则目前没有确定将为该方案提供哪个应用程序的过程。
答案 1 :(得分:0)
根据Apple文档,如果有多个应用程序注册了相同的URL方案,那么无法保证哪个应用程序将收到请求。我坚信MobileSafari已经注册了http
计划,因此这就是您的应用未启动的原因。
答案 2 :(得分:0)
自定义网址方案是&#34;前缀&#34;地址,如协议类型 - 例如,&#34; http://&#34;,&#34; fb://&#34;,@&#34; tel://&#34;。 在你的情况下,URL方案是@&#34; http://&#34;或@&#34; https://&#34;。对于这些方案系统已经注册了应用程序。 对不起,但是你不能为所有情况做你想做的事。
答案 3 :(得分:0)
尝试输入此网址digitalsigner.com://
它对我有用