ios - 使用相同的开发人员和团队配置文件从两台不同的 Mac 分发应用程序

标签 ios xcode in-house-distribution

我正在尝试从我的另一台 Mac 上分发一个内部企业应用程序,它是一台 Mac Pro。我在 Apple's instructions 之后导出了开发配置文件从我一直用来成功分发的 macbook。我从现在开始也按照这些说明将它们导入到我试图分发的 mac 上。

我将项目文件夹从我的 macbook(工作发行版)复制到 mac pro(不工作)并使用 Xcode 打开它。然后我构建并归档了项目。然后我转到 Organizer,选择最新的存档,然后单击 Distribute...

从那里我做了我一直做的事情:为企业选择第二个选项,使用正确的供应配置文件,并将其导出到托管它的服务器。

当我点击链接安装该应用程序时,它开始正常下载,但最后以奇怪的无图标图像作为应用程序图标结束,当我尝试打开它时,该应用程序立即关闭。

我在导出和导入我的配置文件时是否做错了什么?如果不是,这里还有什么问题?

最佳答案

请在安装过程中发布写入设备日志的内容。您可以从 Xcode 中的管理器窗口监视设备控制台。打开 Xcode 并选择 Window -> Organizer,然后在您的设备下选择 Console

根据您的描述,我可以想到可能导致此问题的三件事:

通过 SSL 的 OTA

尝试安装该应用程序的设备运行的是 iOS 7.1,manifest.plistipa 未通过 SSL 提供服务。请记住,iOS 7.1 现在需要通过安全的 https 连接进行 OTA 安装。

使用不正确的配置文件签名

如果设备日志包含“无法预检应用程序”,则该应用程序很可能未正确签名。您可以按照以下答案中的步骤验证您确实使用了正确的移动设备:https://stackoverflow.com/a/18642782/1144060

  1. 获取您的 IPA 文件,将其重命名为 .zip 扩展名。
  2. 解压缩此文件并在 Finder 中打开 Payload 目录。
  3. 右键单击您的应用程序,然后单击“显示包内容”。
  4. 找到文件 embedded.mobileprovision,然后在文本编辑器(如 TextEdit)中打开此文件。

如果 embedded.mobileprovision 包含 ProvisionedDevices 的条目,那么您将使用 Ad Hoc 或开发配置文件而不是您的企业配置文件进行签名。

缺少私钥

除非企业证书由 Xcode 管理(例如,您从 Xcode 中创建企业证书),否则 Xcode 可能不会像管理其他配置文件那样管理它。

我们的构建机器在 XCode 5 中配置了多个 ADC 帐户。在尝试初始化新的构建环境时,我导出了配置文件并将它们导入到新的构建环境中。企业证书和 key 不是由在 Xcode 中注册的帐户之一创建的。企业证书和 key 未转移。

在您的 macbook 上打开 Keychain Access.app 并选择左下角的 Certificates 类别。您的企业证书将与私钥相关联。选择它们,然后选择文件... -> 导出。输入密码以保护 p12 文件。

将生成的 p12 文件(默认名为 Certificates.p12)复制到您的 mac pro,然后双击该文件以使用 Keychain Access.app

关于ios - 使用相同的开发人员和团队配置文件从两台不同的 Mac 分发应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22619381/

相关文章:

ios - 如何禁用/启用 UITextField 中的返回键?

ios - 我们可以在适用于 iOS 的企业应用中使用应用内购买吗?

ios - App Store 和内部需要不同的配置文件吗?

ios - 类型 'AuthDataResult' 的 Firebase 错误值没有成员 'displayName'

ios - 如何在swift中传递C指针

ios - 获取 UICollectionViewCell 标签文本

ios - Firebase 继续在后台监听事件

ios - 如何在没有 Apple 开发者帐户的情况下使用 Delphi Seattle 将 iOS 应用程序部署到 iPhone?

javascript - 使用 Swift 检测 WebView URL 的变化

tvos - 是否可以通过无线方式将企业/内部 tvOS 应用程序分发到 Apple TV?