准备一个未签名的Xcarchive

时间:2014-01-14 15:32:26

标签: ios xcode xcode5

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

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

他们给我的指示如下:

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

    问题是,当执行第4步时,我收到以下错误:

    CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 7.0'
    

    他们的想法是他们会将应用程序编码在他们身边(从而保护他们的证书)。有没有办法做到这一点?

3 个答案:

答案 0 :(得分:3)

能够使用以下技术完成此操作:

  1. 通过developer.apple.com
  2. 创建内部分发配置文件
  3. 选择与此个人资料(或通配符)相关联的任何AppID
  4. 选择要包含在配置文件中的分发证书
  5. 在计算机上安装证书和配置文件,方法是下载并双击它们(或者如果使用XCode 5,则可以通过刷新“帐户”偏好设置面板执行此操作)
  6. 最重要的:在项目中创建“Entitlements.plist”文件,将其分配给“支持文件”组以获得良好的衡量标准。在此文件中添加一个键,然后从键名称下拉列表中选择“get-task-allow”或“Can be debugged”(这取决于plist编辑器是否显示原始键值)。值应为“NO”
  7. 在项目的构建设置中的代码签名部分下,执行以下操作:
    1. 代码签名权利设置中,键入.xcodeproj文件所在的相对路径到Entitlements.plist所在的位置。例如,如果您的.xcodeproj文件位于具有名为“MyApp”的子文件夹且“EntApp”文件夹中存在Entitlements.plist文件的文件夹中,则您将值设置为:MyApp / Entitlements.plist
    2. 代码签名部分
    3. 下选择配置文件和证书
  8. Voila,通过Product-> Archive构建您的Xcarchive并将其提供给您的客户,他们将能够使用自己的个人资料和证书重新签名。

答案 1 :(得分:3)

在终端中使用xcodebuild命令为我工作。

xcodebuild -project MyApp.xcodeproj -scheme MyApp -configuration Release clean archive -archivePath “buildArchive/MyApp.xcarchive" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO

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

答案 2 :(得分:1)

您也可以帮忙this Question,检查一下。