准备一个未签名的 Xcarchive

Tha*_*Don 6 xcode ios xcode5

TLDR;问题:有没有办法准备一个 XArchive,然后他们可以自己分配一个供应配置文件并使用适当的分发证书签名?

长问题: 我的客户向我发送了我为他们开发的应用程序的配置文件。他们不想向我发送他们的分发证书(.p12 文件)。

他们给我的指示如下:

  1. 将配置文件加载到您的系统上
  2. 在您的项目中,在“Provisioning Profile”部分中的目标的“Build Settings”下选择配置文件
  3. 不要选择代码签名身份
  4. 运行,产品->存档
  5. 在提供分发选项时选择“导出为 XCode 存档”

问题是,在执行步骤 4 时,出现以下错误:

CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 7.0'
Run Code Online (Sandbox Code Playgroud)

他们的想法是他们会在他们这边对应用程序进行协同设计(从而保护他们的证书)。有没有办法做到这一点?

arc*_*rix 5

在终端中使用xcodebuild命令对我有用。

\n\n
xcodebuild -project MyApp.xcodeproj -scheme MyApp -configuration Release clean archive -archivePath \xe2\x80\x9cbuildArchive/MyApp.xcarchive" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO\n
Run Code Online (Sandbox Code Playgroud)\n\n

这在我的项目根目录的“buildArchive”子目录中创建了一个未签名的存档“MyApp.xcarchive”。

\n


Tha*_*Don 3

能够使用以下技术来做到这一点:

  1. 通过developer.apple.com创建内部分发配置文件
  2. 选择与此配置文件关联的任何 AppID(或通配符)
  3. 选择要包含在配置文件中的分发证书
  4. 通过下载并双击它们来将证书和配置文件安装到您的计算机上(或者如果使用 XCode 5,您可以通过刷新通过帐户首选项窗格来完成此操作)
  5. 最重要的是:在您的项目中创建一个“Entitlements.plist”文件,将其分配给您的“支持文件”组以进行良好的衡量。向该文件添加一个键,然后从键名下拉列表中选择“get-task-allow”或“可以调试”(这取决于您的 plist 编辑器是否显示原始键值)。该值应为“否”
  6. 在项目构建设置的 “代码签名”部分下,执行以下操作:
    1. “代码签名权利”设置中,键入从 .xcodeproj 文件所在位置到 Entitlements.plist 所在位置的相对路径。例如,如果您的 .xcodeproj 文件位于具有名为“MyApp”的子文件夹的文件夹中,并且您的 Entitlements.plist 文件存在于“MyApp”文件夹中,则应将该值设置为:MyApp/Entitlements.plist
    2. 在“代码签名”部分下选择配置文件和证书

瞧,通过“产品”->“存档”构建您的 Xcarchive 并将其提供给您的客户,他们将能够使用自己的个人资料和证书重新签名。

  • 这样我不认为您正在创建未签名的存档。相反,您使用自己的内部分发证书对其进行签名。然后,客户端使用自己的证书重新签名您的签名二进制文件。 (5认同)