我希望我的 iOS 项目能够处理多个 URL 类型和多个包标识符,这样我就可以在同一设备上安装该应用程序的 2 个版本。
我有 2 个不同的捆绑 ID:com.mycompany.myapp 和 com.mycompany.myapp-test
我正在 Info.plist 文件中为两个包标识符注册 2 个 URL 类型
我使用 2 个捆绑包标识符生成 2 个版本,并将这两个应用程序安装在同一设备上。然后我尝试使用 2 个 url 访问我的应用程序:myapp://feed 和 myapp-test://feed。
但是由于某种原因,我无法打开 myapp-test,并且当我单击这两个链接时它总是打开 myapp。
我处理这个问题的方式肯定有问题,所以我想知道如何在同一个 Xcode 项目中管理具有多个 URL 方案的多个包 ID?
Thanks
一些调查产生了一些解决方案。
自动的
Use $(PRODUCT_BUNDLE_IDENTIFIER)
对于标识符和方案,然后使用 URL 打开每个应用程序,例如com.mycompany.myapp://
。无论您有多少个目标、方案或构建设置,这都将始终有效。
半自动
设置用户定义的变量。您需要将这些变量放入您的info.plist
文件以便引用它们。这种方法更灵活,但您必须手写方案名称(仅一次)。实际上,这是我在应用程序中选择的方式。
By hand
这更像是一种解决方法,而不是正确的解决方案,但在所有情况下 100% 有效:在构建每个包之前设置标识符和方案。
例如,如果您有标识符/方案对,例如com.mycompany.myapp/myapp
and com.mycompany.myapp-test/myapp-test
然后执行以下操作:
- 设置标识符
com.mycompany.myapp
和方案myapp
然后构建应用程序包myapp
- 设置标识符
com.mycompany.myapp-test
和方案myapp-test
然后构建应用程序包myapp-test
这样您应该能够调用相关方案来打开每个包。尽管您需要在每次构建之前更改 URL 类型。就我个人而言,我永远不会这样做。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)