【问题标题】:Setting up Urban Airship with multiple targets - same bundle ID possible?设置具有多个目标的 Urban Airship - 可以使用相同的捆绑包 ID?
【发布时间】:2017-04-19 20:29:42
【问题描述】:

我们正在推出一个具有复杂服务器逻辑和两个移动客户端(iOS 和 Android)的国际项目。 iOS 计划在每个国家/地区的同一个 Xcode 项目中拥有不同的目标,以便能够自定义每个国家/地区的应用程序,同时优化代码重用。

对于服务器,我们决定为所有国家/地区设置一个实例,以便允许在国家/地区之间切换用户。

但是,服务器上的一个应用实例只能容纳 一个 Urban Airship 实例。

那么,假设 Urban Airship 应用程序密钥必须有一个唯一的捆绑包 ID,我们是否可以将相同的捆绑包 ID 用于在不同国家/地区推出的各种目标?

如果没有,你会如何解决这个问题?

【问题讨论】:

  • 您最好向 Urban Airship 寻求支持
  • iOS 计划在同一个 Xcode 项目中为每个国家/地区设置不同的目标,以便能够在优化代码重用的同时自定义每个国家/地区的应用程序。 什么样的事情你在定制吗?除了文本、布局和资产之外,还有其他的东西吗?如果没有其他东西,那么您可能只有一个目标
  • 嗨@Campbell_Souped 好问题。我们有一项大型公司的法律要求,假设某些法律文本不得包含在部署到某些国家/地区的应用中。
  • @Mundi AFAIK,如果文本已本地化,则它不包含在包中。这应该比较容易测试
  • @Campbell_Souped 抱歉,我认为这不正确。所有本地化都包含在捆绑包中,并根据设备上设置的语言环境进行选择。

标签: android ios xcode urbanairship.com bundle-identifier


【解决方案1】:

从项目的技术方面来看,每个目标都具有相同的包 ID 是完全可以的。但是,这不适用于应用商店或在实际设备上安装不同目标的构建。这是因为 iTunesConnect 和 iOS 将捆绑 ID 视为应用程序的唯一标识符。如果您使用相同的捆绑包 ID,则在上传到 iTunesConnect 或在实际设备上安装时,每个目标的构建基本上会覆盖前一个目标的构建。

这是什么意思:

您需要为每个目标设置不同的捆绑包 ID。如果 Urban Airship 仅允许每个实例使用一个捆绑包 id,那么如果没有多个 Urban Airship 实例,您将无法解决这种情况。我建议拥有多个实例并向 Urban Airship 提交请求以支持每个实例的多个应用程序。

【讨论】:

    【解决方案2】:

    如果您在代码或 plist 文件中切换 inProduction 标志,则只能使用相同的捆绑 ID 设置 Urban Airship。

    阅读更多 UA 的Best Practices for Testing and Submitting iOS apps

    【讨论】:

      猜你喜欢
      • 2023-03-17
      • 1970-01-01
      • 2021-07-02
      • 1970-01-01
      • 2020-11-29
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多