在App Store和Enterprise上分发iOS App

kth*_*rat 14 xcode ad-hoc-distribution ios enterprise-distribution ios-enterprise

TLDR:

A.使用Enterprise Cert导出应用程序时出现问题

错误:通配符应用程序ID不能用于创建内部供应配置文件

B.在Enterprise和AppStore上分发应用程序的正确方法

我们多年来一直在Apple的AppStore上发布应用程序,Enterprise是新增功能. - App有Watch App并支持iOS 8+.

到目前为止做了什么:
- 两个不同的开发帐户和证书.
- 在每个帐户上单独设置配置文件
- 构建配置和企业版AppStore
- 使用Scheme/Config在bundleId等设置之间切换
- 成功归档企业应用程序

我没有创建单独的info.plist或权利(我需要吗?)

问题:当我尝试导出Enterprise Archive时,我收到错误

通配符应用程序ID不能用于创建内部供应配置文件<

我确实创建了适当的配置文件.它们都不是通配符,除了由Xcode创建.

我已经阅读了这篇文章,其中说需要创建不同的目标.这是保持两个目标同步的开销.

题:

bool itIsPossible = Can this be achieved with Configuration/Schemes?

if (itIsPossible){
– What else I need to create separate entitlements etc?
}else{
– Do I have to create new target to support Enterprise App?
– Separate Target for Watch and Extension? 
– What else I need to create separately Info.plist, entitlements etc?
}
Run Code Online (Sandbox Code Playgroud)

Swi*_*ect 4

使用目标

新目标确实会产生一些开销(必须将新文件添加到所有相关目标)。新目标可以轻松划分文件的位置,为单独的plist& config、单元测试等提供平台。

请记住,App Store可执行文件和Enterprise可执行文件是两个不同的应用程序,具有不同的证书和签名。(1)


单独的目标建议(来自实际产品)

  • 共享权利
  • 项目 > 目标 > 常规 > 团队 >在那里选择单独的团队
  • <你的目标>。xconfig(可选且方便)
  • .plist(最有可能,但不是必需的)(2)

(1) Apple Watch 可执行文件也是如此
(2)单独plist允许运行时魔法:由资源控制的单一代码