sen*_*thu 9 iphone iphone-sdk-3.0 ipad ios4
我在我的应用程序中使用自定义URL方案从另一个应用程序(可能是我自己的)打开它.假设我在App Store中有多个应用程序可能有我使用的URL标识符.如果用户有两个具有相同URL方案的应用程序,那么会开吗?自定义URL应用程序是否会被苹果批准?
tas*_*oor 15
Apple接受自定义URL应用程序.但是,如果设备上的多个应用程序已注册相同的URL方案,则行为未定义.从iOS应用程序编程指南,"如果多个第三方应用程序注册处理相同的URL方案,则未定义选择哪个应用程序来处理该类型的URL."
Jos*_*nce 10
简短回答:注册URL的第一个应用程序有时会打开,但无法经常打开.其他时候注册的第二个应用程序将打开但经常失败.基本上它失败很多,真的是"未定义".使用http://handleopenurl.com/来避免.
答案很长:
我创建了两个应用程序,FirstApp和SecondApp,并testURL为两者注册了相同的URL .
我加载了FirstApp,URL按预期工作,打开了应用程序.
然后我加载了SecondApp并且开始发生可怕的未定义行为.目前,在iOS 7下,如果两个应用程序具有相同的自定义URL注册,则会弹出模式询问
在"First App的名称"中打开此页面?
当您点击打开选项时,它会失败,并且没有任何反应.如果您再次点击或输入链接,则使用该URL安装的第一个应用程序(在我们的案例中为FirstApp)将启动.
实际上,第二个注册的应用程序永远不会被打开,第一个应用程序每两个URL调用都会失败.没有理想的行为.
更糟糕的是我删除了两个应用程序,然后切换了我安装它们的顺序,结果不一致.有时它是一个应用程序,然后在重新加载两个应用程序时它是另一个.这种行为确实是"未定义的".
最佳做法是使用http://handleopenurl.com/查看已注册的URL,并选择一个不会与其他应用程序冲突的URL.您无法"窃取"其他网址,因为您无法确定您的应用是否会打开,而不是其他应用.
V.V*_*V.V -1
这可能是您正在寻找的答案
http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html
通过阅读本文,苹果可能会拒绝您的申请,但您仍然可以阅读苹果提供的指南。谢谢