【发布时间】:2020-07-04 00:10:36
【问题描述】:
概述
我们的命令行构建(用于构建和创建 .ipa)不再有效。
iTunesConnect 已开始拒绝使用 CODE_SIGN_RESOURCE_RULES_PATH 构建设置的构建。
如果我们在没有设置 PackageApplication 工具(我们用来创建签名的 .ipa)的情况下构建。
即使 CODE_SIGN_RESOURCE_RULES_PATH 构建设置被排除在外,PackageApplication 似乎也会使用资源规则参数调用 /usr/bin/codesign
我怀疑 PackageApplication 需要更新,以便在排除 CODE_SIGN_RESOURCE_RULES_PATH 构建设置时不会使用资源规则参数调用 /usr/bin/codesign。
有人找到解决办法了吗?
详情
我们像这样在命令行上构建我们的应用程序:
xcodebuild -workspace myApp.xcworkspace -scheme myApp -sdk iphoneos -configuration AppStoreDistribution OBJROOT=$PWD/build SYMROOT=$PWD/build ONLY_ACTIVE_ARCH=NO 'CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist'
我们像这样在命令行上创建签名的 .ipa:
xcrun -log -sdk iphoneos PackageApplication "/Users/mpv/dev/myApp/build/AppStoreDistribution-iphoneos/myApp.app" -o "/Users/mpv/dev/myApp/build/AppStoreDistribution-iphoneos/myApp.ipa" -sign "iPhone Distribution: MyTeam (XXXXXXXXXX)" -embed /Users/mpv/Library/MobileDevice/Provisioning\ Profiles/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.mobileprovision
iTunesConnect 现在拒绝我们的构建并出现以下错误:
"此捆绑包无效。Info.plist 包含无效密钥 捆绑 myApp [myApp.app] 中的“CFBundleResourceSpecification”
如果我们从构建命令中删除'CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist' 位,那么应用程序将在没有CFBundleResourceSpecification plist 键的情况下构建(我认为这是我们想要的)。新的构建命令如下所示:
xcodebuild -workspace myApp.xcworkspace -scheme myApp -sdk iphoneos -configuration AppStoreDistribution OBJROOT=$PWD/build SYMROOT=$PWD/build ONLY_ACTIVE_ARCH=NO
现在的问题是构建 .ipa 的命令失败并出现以下错误:
错误:/usr/bin/codesign --force --preserve-metadata=identifier,entitlements,resource-rules --sign iPhone Distribution: MyTeam (XXXXXXXXXX) --resource-rules=/var/folders/2b/7hylk7nn13dgrl9yyh2wp0lm0000gn/T/zDRRJMkKtQ/Payload/myApp.app/ResourceRules.plist --entitlements /var/folders/2b/7hylk7nn13dgrl9yyh2wp0lm0000gn/T/zDRRJMkKtQ/entitlements_plistIUdGWLYe /var/folders/2b/7hylk7nn13dgrl9yyh2wp0lm0000gn/T/zDRRJMkKtQ/Payload/myApp.app 失败,错误 1。输出:警告:使用 --preserve-metadata 带有选项“resource-rules”(在 Mac OS X >= 10.10 中已弃用)!
警告:--resource-rules 已在 Mac OS X >= 10.10 中弃用! /var/folders/2b/7hylk7nn13dgrl9yyh2wp0lm0000gn/T/zDRRJMkKtQ/Payload/myApp.app/ResourceRules.plist: 无法读取资源
即使 CODE_SIGN_RESOURCE_RULES_PATH 参数/构建设置被排除在外,PackageApplication 似乎也会使用资源规则参数调用 /usr/bin/codesign。
我认为 PackageApplication 需要更新,以便在排除 CODE_SIGN_RESOURCE_RULES_PATH 参数/构建设置时,它不会使用资源规则参数调用 /usr/bin/codesign。
【问题讨论】:
-
您好,关于完全相同的问题,我已经有一个未回答的问题:stackoverflow.com/questions/32720442/…
-
嘿,我收到此错误“Ld /Users/confiz/Library/Developer/Xcode/DerivedData/CloudMessage-afevkkqtjcnmoddycvosdhbgoraa/Build/Intermediates/ArchiveIntermediates/LTDMessaging/IntermediateBuildFilesPath/CloudMessage.build/Release- iphoneos/LTDMessaging.build/Objects-normal/arm64/LTD\ Messaging normal arm64" 如果我尝试从命令行存档,但它在 Xcode 中工作正常。真不知道怎么解决。
标签: ios xcode xcodebuild