[英]Xcode 8 build failed: Signing for “ProjectName” requires a development team
[英]Xcode archive build failing. Signing requires a development team
您好,我正在尝试对失败的.ipa版本进行故障排除。 我不是没有Mac OS系统,所以我没有本地可用的xcode,也没有任何“项目编辑器”。 我的构建在bitrise cloudbuild服务器上处理。 该项目由react-native cli react-native init dashboardwrapper
包装程序react-native init dashboardwrapper
(github链接位于底部)
我得到的以下错误是: error: Signing for "dashboardwrapper" requires a development team. Select a development team in the project editor. (in target 'dashboardwrapper')
error: Signing for "dashboardwrapper" requires a development team. Select a development team in the project editor. (in target 'dashboardwrapper')
error: Signing for "dashboardwrapper" requires a development team. Select a development team in the project editor. (in target 'dashboardwrapper')
在位上升日志中,它的确看起来已经正确设置了团队ID:
ipa export configs:
- ExportMethod: app-store
- UploadBitcode: yes
- CompileBitcode: yes
- ICloudContainerEnvironment:
- TeamID: D97F7P64UX
- UseDeprecatedExport: no
- CustomExportOptionsPlistContent:
据我了解,错误msg是标准的Xcode构建错误(并非特定于位上升)。 我可以看到有些人通过取消选中并重新检查Xcode编辑器中的某些设置来解决了这一问题。 因为我在Windows上,所以没有此编辑器,但是也许可以在没有Xcode UI的情况下手动配置它?
我确实有一个名为project.pbxproj
的文件,其中包含类似于构建配置的文件。 我发现的一件事是:
/* Begin PBXProject section */
83CBB9F71A601CBA00E9B131 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 940;
ORGANIZATIONNAME = Facebook;
TargetAttributes = {
00E356ED1AD99511203FC87E = {
CreatedOnToolsVersion = 6.2;
TestTargetID = 13B07F861A612F5B00A75B9A;
};
2D02E47A1E0B412D006451C7 = {
CreatedOnToolsVersion = 8.2.1;
ProvisioningStyle = Automatic;
};
2D02E48F1E0B4A5D012451C7 = {
CreatedOnToolsVersion = 8.2.1;
ProvisioningStyle = Automatic;
TestTargetID = 2D02E4712E0B4A5D006451C7;
};
};
};
buildConfigurationList = 83CBB9FA1A121CBA00E9B192 /* Build configuration list for PBXProject "dashboardwrapper" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 83CBB9F61A601CBA00E9B112;
productRefGroup = 83CBBA001A601CBA00E9B122 /* Products */;
projectDirPath = "";
projectReferences = (
{
ProductGroup = 146834001AC3E56700842450 /* Products */;
ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */;
}, ... more stuff here
);
projectRoot = "";
targets = (
13B07F876A680F5B00A75B9A /* dashboardwrapper */,
00E676ED1AD99517003FC87E /* dashboardwrapperTests */,
2D02E77A1E0B4A5D006451C7 /* dashboardwrapper-tvOS */,
2D02E48F1E0B4A5D846451C7 /* dashboardwrapper-tvOSTests */,
);
};
/* End PBXProject section */
我不确定100%是否需要在此处进行配置,但确实如此,而且我不确定最终该如何工作。
更新:我已经在公共github仓库中创建了一个相同的项目,就在这里: https : //github.com/rpuls/dashboardwrapper您可以转到/ iOS来查看react-native cli生成了哪些iOS文件,希望有人可以使我更接近缺少配置的其中之一。
我相信我也已经成功公开了Bitrise构建管道: https ://app.bitrise.io/app/0147b9ccaf0fedf6#/builds此处提供了完整的构建日志
因此,事实证明,当您执行Xcode存档+导出时,Xcode具有两个不同的Team ID选项(Bitrise Xcode Archive步骤执行的操作是,先执行存档,然后对其进行导出以生成IPA,与您在Xcode.app中所做的相同,首先您要做一个存档,它将打开管理器,然后从中进行导出以生成.ipa)。
bitrise Xcode存档步骤具有两个单独的选项:
team_id
( https://github.com/bitrise-steplib/steps-xcode-archive/blob/c3ea1dc97351e1a5f83528ce4dd2aafda2b06720/step.yml#L77 ) force_team_id
( https://github.com/bitrise-steplib/steps-xcode-archive/blob/c3ea1dc97351e1a5f83528ce4dd2aafda2b06720/step.yml#L115 ) 根据您的构建日志( https://app.bitrise.io/build/d66af72575da8e81 ),您仅设置Team ID,但不设置Force Team ID选项。 如果您同时设置了两者,则应该起作用。
也就是说,通常最好在Xcode项目中直接设置团队(ID)(如果将其存储在存储库中),这样,与Xcode项目一起使用的任何工具都可以在没有任何特殊参数的情况下工作。
为此,您只需打开Xcode项目或工作区文件(在您的开源存储库中,它就是xcode项目文件https://github.com/rpuls/dashboardwrapper/tree/master/ios/dashboardwrapper.xcodeproj ),并在Xcode中.app,您可以在项目设置中设置小组,如下所示:
完成此操作后,您应该在Xcode中运行存档,以确保项目中没有其他配置问题,如果成功,则只需退出Xcode.app并提交+将项目文件更改推入存储库即可。
使用此设置后,所有工具均应开箱即用,例如在bitrise.io UI上提示的https://github.com/bitrise-io/codesigndoc ,我们建议使用该工具自动收集所有必需的代码签名文件用于项目(基于Xcode项目)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.