从终端构建应用程序时代码设计失败
Posted
技术标签:
【中文标题】从终端构建应用程序时代码设计失败【英文标题】:Codesigning failed when building app from terminal 【发布时间】:2014-11-24 15:31:37 【问题描述】:我正在尝试在终端中使用xcodebuild
命令构建我的应用程序。但是它没有这样做,并给了我这个错误:
CodeSign build/Release-iphoneos/frameworkname.framework
cd /path/frameworkname
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin"
Signing Identity: "my signing identity"
Provisioning Profile: "provisioning profile"
(numbersandletters)
/usr/bin/codesign --force --sign numbersandletters /path/frameworkname/build/Release-iphoneos/frameworkname.framework
/path/frameworkname/build/Release-iphoneos/frameworkname.framework: bundle format unrecognized, invalid, or unsuitable
Command /usr/bin/codesign failed with exit code 1
** BUILD FAILED **
The following build commands failed:
CodeSign build/Release-iphoneos/frameworkname.framework
(1 failure)
我在项目文件夹中使用这个命令:
xcodebuild -target myprojectname -sdk iphoneos -configuration Release
还尝试添加-project myprojectname.xcodeproj
,但这并没有什么不同,我仍然遇到同样的错误。
我尝试了here 发布的脚本,但这对我也不起作用。我认为这是因为我的框架中没有 Versions 文件夹。这可能是一个开始的地方,但我不知道该怎么做。任何帮助将不胜感激:)
【问题讨论】:
无效的框架结构可能是调查的好主意。我会尝试用xctool
编译它 - 消息更清晰。
【参考方案1】:
尝试像这样构建:
security unlock-keychain -p aPassword /Users/aUser/Library/Keychains/login.keychain && \
xcodebuild -scheme 'aScheme' Release archive CODE_SIGN_IDENTITY="AcodeSignIdentity" PROVISIONING_PROFILE="aProvisioningProfile"
特别注意
1) 钥匙串解锁(如果您可以从 gui 解锁,则不需要)
2) 方案的使用
【讨论】:
【参考方案2】:我们找到了一个可以构建我们的项目的解决方案。我们使用了这个命令
xcodebuild -project testerProject.xcodeproj -sdk iphoneos -configuration Release clean build RUN_CLANG_STATIC_ANALYZER=NO -scheme testerProject archive
【讨论】:
以上是关于从终端构建应用程序时代码设计失败的主要内容,如果未能解决你的问题,请参考以下文章