所以我试图在Mavericks上使用Xcode 6.0.1使用现有的配置文件(之前有效)创建一个临时版本,但在尝试导出此版本后,我不断收到以下错误:
我是否需要重新创建证书和配置文件,还是有更好的解决方案?谢谢!
答案 0 :(得分:47)
作为“团队成员”,我也面临这个问题。角色。 '您不得执行此操作'警告让我相信XCode更严格地执行此处定义的角色:https://developer.apple.com/programs/roles/
即使我可以访问签名资产(证书和配置文件),XCode也不允许我指定它们。尝试将您的角色升级为Team Admin。
更新2014-09-29: 经过广泛的研究,我发现有可能从命令行使用xcodebuild生成.ipa,即使作为团队成员'角色使用以下内容:
xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile "Provisioning Profile Name"
归功于1
注意:正如链接文章中指出的那样,"供应配置文件名称"是证书名称字段中指定的名称(可从developer.apple.com查看)。
您可以通过将调用包含在项目构建脚本中来自动执行xcode中的过程。
答案 1 :(得分:11)
尝试打开控制台并转到Xcode项目文件夹,然后输入以下命令:
清理你的项目
xcodebuild clean -project YourProjectName.xcodeproj -configuration Release -alltargets
构建和存档您的应用
xcodebuild archive -project YourProjectName.xcodeproj -scheme YourSchemaName -archivePath YourProjectName.xcarchive
您可以在中找到YourSchemaName Xcode > 产品> 计划> 编辑方案......
最后创建你的应用.ipa文件
xcodebuild -exportArchive -archivePath YourProjectName.xcarchive -exportPath YourProjectName -exportFormat ipa -exportProvisioningProfile 'Your Provisioning Profile Name'
要查找您的配置文件名称,请登录Apple开发者会员中心,然后转到证书,标识符&个人资料,然后点击iOS应用的配置个人资料。在那里,您将找到您的供应配置文件名称。
如果不起作用,请尝试将双引号替换为单引号('使用")。
您将在Xcode项目文件夹中找到.ipa文件。
在此之后,您将能够在iTunes中打开.ipa文件并安装在iOS设备上。
我希望它有所帮助!
答案 2 :(得分:7)
发生了什么:Xcode需要使用有效证书签署构建。它试图找到一个没有运气的人。为什么?因为在Xcode6之前,您可以使用您的开发人员证书签署AdHoc版本。你能够,因为你有一个私钥。但现在您需要使用生产证书签署Ad Hoc版本。你没有私钥。
因此,需要采取步骤才能从Xcode6(https://stackoverflow.com/a/26061067/1918302)构建:
获取生产证书的私钥。 (您需要将其从Mac密钥链导出并导入到您的钥匙串或撤销当前和创建新生产证书。在创建期间,您将获得一个。从上面的链接引用此处:
BEWARE :撤消企业分发证书会使使用该证书签署和部署的所有应用无效 证书(official info))。
创建特殊的XC Ad Hoc:分发配置文件(如果您在developer.apple.com上的团队中拥有管理员角色 - Xcode将为您执行此操作)。
在项目的目标中设置配置文件 - >构建设置 - >代码签名到步骤2中创建的。
完成!
如果上述内容无法实现,您可以使用命令行工具进行构建:https://stackoverflow.com/a/25979784/1918302。 但在我看来这是一个安全漏洞,我不相信这会长期存在。
答案 3 :(得分:2)
我们能够解决这个问题,只需让其中一个管理员从开发中心下载“XC Ad Hoc:Distribution”配置文件,然后将其发送给想要构建的“团队成员”,并让他手动导入它。由于他已经拥有证书,所以他只需要能够进行构建并停止获取此错误。这里现有的答案是正确的,但这是一种低摩擦的方式来获得我们许多人的最后一块拼图。
总之,您需要此个人资料和证书,并在您的钥匙串中使用私钥。
答案 4 :(得分:2)
对我来说,原因是我没有根据this answer设置项目的配置文件属性。
答案 5 :(得分:1)
我的情况,问题是App ID。当然,应用程序确实存在于我的会员中心帐户中。问题出在“功能”窗格中。一些功能尚未解决问题,但构建成功。这导致了这种情况,当我在会员中心的App ID和Xcode具有不同的功能设置时。
消除这种不和谐已经解决了我的问题。 如果你有类似的问题,请检查两次。
答案 6 :(得分:0)
您必须在Xcode-> preferences->帐户中定义您的帐户 您似乎已经定义了一个不允许访问IOS开发者帐户的appleId。
尝试在https://developer.apple.com/devcenter/ios/index.action中与该用户签名,并查看是否允许该用户加入IOS开发者计划。
如果您已使用iTunes连接签名,则可能会发生这种情况。他们是不同的帐户。
我希望这有帮助!
答案 7 :(得分:0)
您的分布式帐户与团队不匹配。
您必须在xcodeproj中定义您的帐户 - >身份 - >团队 - >添加帐户
答案 8 :(得分:0)
我也收到此错误,因为我正在构建的计算机的开发人员证书已过期。
即使续订该证书,我也无法导出Build for App Store版本。 即使遵循接受的答案中的说明并将该开发人员帐户升级为管理员。
事实证明,由于存档是在开发人员证书过期时创建的,因此开发人员无法使用分发配置文件进行协同设置。 在更新开发人员证书后,我必须重新创建存档,以便允许该计算机使用分发证书(已安装且以前正在工作)来对新存档进行编码并上传到应用商店。
分享,以防其他人遇到此边缘情况。