Xcode方案中的权限/能力

17

Apple Pay 的授权 / 能力仅在 App Store 中有效。我会在 App Store 和企业环境中发布此应用。

  • 如果选择 App Store Release 方案,我希望 Xcode 启用 Apple Pay 授权。
  • 如果选择 Enterprise Release 方案,我希望 Xcode 禁用 Apple Pay 授权。

嘿!你解决了这个问题吗?我们也遇到了同样的问题。 - Sid
@Sid 我没有 :-(,如果你有的话,请告诉我。 - volni
如果有帮助的话,我们查看了我们的授权文件,并发现其中有一个重复条目。我们将其删除后,一些问题得到了解决。我们还设置了一个专门的授权文件,没有为企业构建准备的 Apple Pay :) 希望这可以帮到您。 - Sid
@volni,你有找到解决这个问题的方法吗? - Ashraf Tawfeeq
3个回答

21
您可以通过使用不同的构建配置来实现所需的行为。
  1. 复制授权文件并根据需要进行调整,例如,删除企业分发的Apple Pay权限。
  2. 在项目设置视图中选择项目。
  3. 添加新的构建配置,例如,AppStore。 Xcode项目设置
  4. 切换到应用程序目标,并调整新构建配置的值。 目标构建设置
  5. 创建一个新方案,例如,AppStore,并在方案设置的“存档”部分中选择新构建配置 方案设置
一般来说,拥有单独的方案和构建配置是一个好主意。这样,您可以根据需要支持几个不同的构建配置,例如,企业分发、Hockey测试、应用商店等等。
如果要使项目设置更易于维护,请考虑使用xcconfig文件来组织您的构建设置。

2
但这并不能帮助应用程序的功能。 - Ashraf Tawfeeq
@Ashraf Tawfeeq - 你找到任何替代方案了吗? - Gaurav Borole
嗨@GauravBorole,你可以看一下我的解决方案。 - wzso
非常棒的方法,特别是在使用扩展时,这是正确的做法。非常感谢!!! - user1046037

2
一种可能的方法:
  1. 将不同方案的授权文件放在一个文件夹中
  2. 将项目或目标的构建设置>代码签名授权指向一个位置,例如$(PROJECT_DIR)/AppName/AppName.entitlements
  3. 在“编辑方案”>“构建”>“前置动作”中,添加一个“运行脚本”动作,将该方案的授权文件复制到您在步骤2中指定的位置。例如:cp ${PROJECT_DIR}/entitlements/DevScheme.entitlements ${PROJECT_DIR}/AppName/AppName.entitlements

0

我已经这样做了一段时间。我的解决方案基于git分支。我有四个分支:masterapp-storeenterprisefeature

其中,app-storeenterprise是从master派生出来的,具有自己的变化,而feature则用于正在开发的新功能。

每次我完成一个功能并且QA人员完成验证后,我会将其合并到master,然后将master合并到app-storeenterprise

我对git不是很熟练,但我成功地顺利工作。


我查看了其他答案,意识到我的解决方案有点傻 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接