通过自定义URL方案调用iOS应用程序

时间:2014-04-03 16:06:52

标签: ios ios-simulator launch url-scheme

我正在开发一个本机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页面,我的应用程序就没有启动。

我做错了什么,或者缺少什么?

谢谢你, 最好的祝福, 威廉。

4 个答案:

答案 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://

它对我有用