ios - PackageApplication 今天停止使用 OS X 10.10 (Yosemite)

标签 ios jenkins continuous-integration osx-yosemite

更新: 正确答案可能是这个:Xcode 6.1 error while building IPA

几年前就开始使用 Jenkins 从存储库构建 iOS 项目。今天突然出现一个新错误,停止构建。

我想我的大部分设置都是基于这个教程的:

http://www.raywenderlich.com/22816/beginning-automated-testing-with-xcode-part-22

这一步导致错误:

# 4
echo "*** Post build step 4"
/usr/bin/xcrun -sdk iphoneos PackageApplication \
-o "${IPA_DIR}/${PROJECT}.ipa" \
-verbose "${APP}" \
-sign "${SIGNING_IDENTITY}" \
--embed "${PROVISIONING_PROFILE}"

查看错误发生的日志有点棘手,但这里是:

### Codesigning '/Users/Shared/Jenkins/Home/jobs/myapp/workspace/myapp_adhoc_7.mobileprovision' with 'iPhone Distribution: mycompany Inc.'
+ /usr/bin/codesign --force --preserve-metadata=identifier,entitlements,resource-rules --sign iPhone Distribution: mycompany Inc. --resource-rules=/var/folders/y1/4hrpc2851b7dxn9bhlkhbrnr00007q/T/ipIxOjxE2z/Payload/myapp.app/ResourceRules.plist --entitlements /var/folders/y1/4hrpc2851b7dxn9bhlkhbrnr00007q/T/ipIxOjxE2z/entitlements_plistYdluSmqT /var/folders/y1/4hrpc2851b7dxn9bhlkhbrnr00007q/T/ipIxOjxE2z/Payload/myapp.app
Program /usr/bin/codesign returned 1 : [Warning: usage of --preserve-metadata with option "resource-rules" (deprecated in Mac OS X >= 10.10)!
Warning: --resource-rules has been deprecated in Mac OS X >= 10.10!
/var/folders/y1/4hrpc2851b7dxn9bhlkhbrnr00007q/T/ipIxOjxE2z/Payload/myapp.app/ResourceRules.plist: cannot read resources
]
error: /usr/bin/codesign --force --preserve-metadata=identifier,entitlements,resource-rules --sign iPhone Distribution: mycompany Inc. --resource-rules=/var/folders/y1/4hrpc2851b7dxn9bhlkhbrnr00007q/T/ipIxOjxE2z/Payload/myapp.app/ResourceRules.plist --entitlements /var/folders/y1/4hrpc2851b7dxn9bhlkhbrnr00007q/T/ipIxOjxE2z/entitlements_plistYdluSmqT /var/folders/y1/4hrpc2851b7dxn9bhlkhbrnr00007q/T/ipIxOjxE2z/Payload/myapp.app failed with error 1. Output: Warning: usage of --preserve-metadata with option "resource-rules" (deprecated in Mac OS X >= 10.10)!
Warning: --resource-rules has been deprecated in Mac OS X >= 10.10!
/var/folders/y1/4hrpc2851b7dxn9bhlkhbrnr00007q/T/ipIxOjxE2z/Payload/myapp.app/ResourceRules.plist: cannot read resources

我会尝试自己解决这个问题,稍后在此处添加解决方案,但如果有人比我快,请继续。

  • 我没有在任何设置中指定 --resource-rules。我想 xcrun 自己会使用此设置,即使它已被弃用。

最佳答案

除了使用 xcrun,您还可以使用 xcodebuild 创建存档,然后再次运行 xcodebuild 以创建 IPA 文件。

# Create an archive
xcodebuild -alltargets -configuration "${CONFIGURATION}" -scheme "${SCHEME}" -archivePath "${APP_PATH}/${PROJECT}.xcarchive" archive

# Create the IPA file from the archive
xcodebuild -exportProvisioningProfile "${PROVISIONING_PROFILE_NAME}" -exportArchive -exportFormat IPA -archivePath "${APP_PATH}/${PROJECT}.xcarchive" -exportPath "${IPA_DIR}/${PROJECT}.ipa" CODE_SIGN_IDENTITY="${SIGNING_IDENTITY}"

请注意,${PROVISIONING_PROFILE_NAME} 应包含临时配置文件的名称,而不是文件本身的路径。

关于ios - PackageApplication 今天停止使用 OS X 10.10 (Yosemite),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26500558/

相关文章:

ios - OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server session ticket A: sslv3 alert certificate revoked

ios - 比较 alamofire 返回的错误对象

ios - @2x 不完全是 2x 时的问题

curl - Jenkins 无法 curl 到 docker 容器上的 http 端点主机

docker - 链接在两个不同的 docker-compose 文件中配置的容器

ios - swift:从 "Parse"检索图像

git - Jenkins git 克隆到工作区的子目录中

objective-c - xcodebuild 无法通过 Jenkins 启动 '/Applications/Xcode.app/Contents/Developer/Tools/otest'

maven - Jenkins 构建失败 - Sonar Maven

git - 如何避免 Maven 和 CI 的提交/发布循环?