【问题标题】:Is it possible to setup two different URL Schemas for two different builds(ex. Development and Production) in the same project in iOS?是否可以在 iOS 的同一个项目中为两个不同的构建(例如开发和生产)设置两个不同的 URL 架构?
【发布时间】:2019-09-25 12:05:31
【问题描述】:

我在我的 iOS 项目中创建了两个不同的架构(两个构建,例如开发和生产)。
当用户点击邮件中的链接时,我必须提供一种可能性,将他(如果他安装了应用程序)重定向到应用程序。

我做了一些研究,发现我可以使用 URL Schemas 做到这一点。 但是我还没有找到一种方法如何将 URL Schema 设置为特定的构建(应用程序),如何区分它们。

有没有办法为同一个应用程序中的两个不同构建设置两个不同的 URL 架构?

【问题讨论】:

  • 如果两个不同的版本具有相同的捆绑 ID,那么一次只能在给定的设备上安装一个,因此您可以使用相同的 URL 方案 - 安装的应用程序将打开.如果它们具有不同的 Bundle ID,则它们是不同的应用程序并且具有不同的 Info.plist 文件,因此您可以指定不同的 URL 方案。您还可以在 Info.plist 中为一个应用程序声明多个 URL 方案,然后检查何时收到使用的 URL 并以不同方式处理它们。
  • 它们有不同的包 ID,但我只有一个 info.plist 文件,因为我使用用户定义的设置来区分不同的包 ID 和其他配置并进行构建。而且因为我只有一个 info.plist 我不知道如何为两个构建设置 URL 架构。 :-/

标签: ios xcode build plist build-process


【解决方案1】:

不要复制 info plist 只是为了做一个小的改变。创建一个 xcconfig 文件来定义两个方案的不同值,并在 info.plist 中引用它

这样最近加入该项目的人就不会忘记为两个 plist 添加一个值。

【讨论】:

    【解决方案2】:

    是的,这是可能的。

    复制您原来的Info.plist 并将其命名为例如Info_debug.plist

    然后单击您的项目(文件导航器左上角的蓝色图标)并进入 Build Settings > Packaging 部分,在那里您将找到“Info.plist 文件”项,如果您至少制作了2 个不同的构建,您应该在该项目的左侧看到一个小箭头:展开它,您应该能够为每个构建自定义 plist 文件...如所附屏幕截图所示。

    在本例中,您只需将 Debug 行的名称更改为 Info_debug.plist 即可!

    【讨论】:

    • 谢谢!这就是我一直在寻找的。 :) 我不确定这是否会以某种方式弄乱我的配置。再次感谢您。
    • 如果你四处逛逛那些构建设置,你会发现很多依赖于构建配置文件的项目......这允许对每个构建进行自定义:)
    猜你喜欢
    • 2022-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-24
    相关资源
    最近更新 更多