2017-08-26 80 views
0

我必须先说如果我使用Xcode构建,一切都很好。我的目标是在Jenkins中使用xcodebuild,这样我就可以在多个环境中自动构建。我对Xcode 8如何使用自动签名感到困惑。Xcode 8,xcodebuild,多包ID和配置文件

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

事情开始我这样做的时候工作。不过,现在当我添加一个新的包ID和PP时,我开始出现以下错误。此外,以前的版本ID无法正常工作或:

大厦

23点06分50秒检查相关

23点06分50秒[BCEROR]为 'com.xyz' 没有配置文件被发现:Xcode找不到匹配'com.xyz'的供应配置文件。

23时06分50秒[BCEROR]在SDK的iOS 10.3'

需要代码签名进行产品类型 '应用' 归档

23时06分51秒为“否型材com.xyz'被发现:Xcode找不到匹配'com.xyz'的供应配置文件。

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" 
+0

您在使用Xcode中确认所有必需的配置文件和证书的机器上安装尝试归档构建? –

+0

是的,我去了Xcode - >首选项 - >帐户 - >在每个团队,下载所有配置文件 –

+0

您是否尝试使用Xcode存档生成? –

回答

0

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

在团结,禁用自动签名和指定供应型材散,(我的哈希使用编辑器视图,并复制值到脚本):

private static readonly string UDIDProfileHash = "HASH"; 

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

对于xcodebuild联编语法我删除指定供应简介:

PROVISIONING_PROFILE_SPECIFIER="ENVIRONMENT_PP"