0

我有一个基础项目,我想为客户重新命名和转售。所以我的问题是:当我分支并创建一个新项目时,显然它需要是一个独立于主项目的实体。在提交过程中唯一将这些应用程序分开的东西是 Bundle ID 吗?

由于重命名项目有时会很痛苦,我正在做的是:

  • 创建分支
  • 在 XCode 中打开它并更改目标名称,这会更改捆绑 ID,因为它设置为 com.whatever.${PRODUCT_NAME:rfc1034identifier}。

所以我想知道在提交新项目时,捆绑 ID 是唯一需要全球唯一的东西吗?还是我需要为每个新分支/项目更改更多属性?

谢谢

4

1 回答 1

0

根据我的经验,只有捆绑 ID 需要不同。

不过,您应该注意一些事项:

  1. 您可能希望客户端之间的应用程序启动画面/图标/图标标签也不同
  2. 构建设置下,您的代码签名实体也可能需要不同。如果您有特定于捆绑 ID 的证书+供应配置文件,则必须为每个客户端创建新的配置文件集并在构建时使用它们
  3. 如果您发现您开始在客户端之间更改资源(例如用于品牌/字符串表的图标/图像),那么使用多个项目和共享静态库可能对您来说更容易。获取所有共享代码并将其转换为静态库 iOS 项目,然后为每个使用此库的客户端(普通 iOS 应用程序项目)创建一个单独的项目。这样,所有元数据(如包 ID、证书、图标)都可以不同,并且代码相同。
  4. 如果您的应用程序定义了任何 URL 方案(例如,如果您使用 Facebook 实现登录,则需要这样做),这些方案在客户端之间也应该不同。如果它们相同,那么当用户在其设备上安装 2 个应用程序时,您肯定会发生冲突。

最后一个关于 Apple 政策的提示:

如果您计划在您的开发者帐户下提交所有这些客户端应用程序,这可能违反 Apple 政策,并且您的应用程序可能会被拒绝。Apple 希望您为每位客户开设一个开发帐户(并支付 99 美元/年)。

于 2013-02-12T17:26:35.073 回答