Xcode 8,xcodebuild,多个捆绑ID和配置文件

时间:2017-08-26 06:34:43

标签: ios xcode jenkins provisioning-profile xcodebuild

我必须首先说,如果我使用Xcode构建,一切都很好。我的目标是将xcodebuild与Jenkins一起使用,以便我可以在多个环境中实现自动构建。我对Xcode 8如何使用自动签名感到困惑。

我开始看这个:Use xcodebuild (Xcode 8) and automatic signing in CI (Travis/Jenkins) environments

当我这样做时,事情就开始起作用了。但是,现在当我添加新的包ID和PP时,我开始出现以下错误。此外,以前的构建ID也不起作用:

建筑

  

23:06:50检查依赖性

     

23:06:50 [BCEROR]没有关于' com.x.y.z'的个人资料被发现:Xcode无法找到匹配' com.x.y.z'。

     

23:06:50 [BCEROR]产品类型需要代码签名'应用程序'在SDK' iOS 10.3'

归档

  

23:06:51没有关于' com.x.y.z'的个人资料被发现:Xcode无法找到匹配' com.x.y.z'。

     

23:06:51产品类型需要代码签名'应用程序'在SDK' iOS 10.3'

中      

23:06:51 **存档失败**

这就是我在做的事情:

#if the directory exist, run the command
if [ -d "~/Library/Developer/Xcode/DerivedData" ]; then
    xattr -rc ~/Library/Developer/Xcode/DerivedData
fi

#Unlock keychain
security unlock-keychain -p xxx ~/Library/Keychains/login.keychain

#Build .xarchive
xcodebuild -project ${WORKSPACE}/PATH.xcodeproj \
           -scheme X \
           -configuration Release \
           clean \
           archive -archivePath ${WORKSPACE}/.../archive.xcarchive \
           DEVELOPMENT_TEAM=XXX

#Unlock keychain
security unlock-keychain -p x ~/Library/Keychains/login.keychain

#Exporting to .ipa
    xcodebuild -exportArchive -archivePath ${WORKSPACE}/XXX/archive.xcarchive \
           -exportOptionsPlist /XXXX/exportOptions.plist \
           -exportPath ${WORKSPACE}/XXXX/Output/${Environment} \
           PROVISIONING_PROFILE_SPECIFIER="ENVIRONMENT_PP"

1 个答案:

答案 0 :(得分:0)

所以我使用Unity来生成xcode项目。我做了什么来解决它:

在Unity中,禁用自动签名并指定Provisioning配置文件哈希,(我使用编辑器视图获取哈希值,并将值复制到脚本中):

 private static readonly string UDIDProfileHash = "HASH";

 PlayerSettings.iOS.appleEnableAutomaticSigning = false;
 PlayerSettings.iOS.appleDeveloperTeamID = "TEAMID";
 PlayerSettings.iOS.iOSManualProvisioningProfileID = UDIDProfileHash;

对于Xcodebuild语法,我删除了指定配置文件:

PROVISIONING_PROFILE_SPECIFIER="ENVIRONMENT_PP"