标签: codesign

Codeign错误:删除过期的配置文件后找不到配置文件

试图重建一个昨天刚刚工作的应用程序.收到个人资料已过期的消息,因此我将其从iPod和iTunes中删除.当我选择一个新的配置文件(标识符中带有*)时,我现在收到一个错误:

__PRE__

我错过了什么?我查看了相关问题,但没有看到这种情况.

xcode codesign ios provisioning-profile

497
推荐指数
6
解决办法
14万
查看次数

Codesign想要在你的钥匙串中访问密钥"访问",我输入了我的登录密码,但一直在问我

我正在尝试学习从Xcode加载我的iPhone上的应用程序.当我这样做时,我会在你的钥匙串中继续获得"Codeign想要访问密钥"访问权限,我把我的登录密码放在一边又一遍又一遍地弹出.我已经多次尝试过我的电脑登录,苹果账号密码,很多其他的.

在此输入图像描述

xcode keychain codesign access

246
推荐指数
12
解决办法
11万
查看次数

重新签署IPA(iPhone)

我目前用hudson使用xcodebuild构建我的所有应用程序,然后是xcrun而没有任何问题

我收到了一些来自不同人的IPA文件,我想用企业帐户而不是公司帐户(对于应用商店,或有时是临时分发)重新签名.

我的问题是,当我尝试重新签名应用程序时,它不会安装在我的设备上(它应该是因为它是企业版本).错误消息在设备上(不在iTunes中),它只是告诉我它无法安装应用程序.没有提供更多信息.

我找到了一些信息,(http://www.ketzler.de/2011/01/resign-an-iphone-app-insert-new-bundle-id-and-send-to-xcode-organizer-for-上传/)

这可能是可能的.我面临的问题是它似乎没有嵌入移动配置文件,因为我使用我的普通版本(使用xcrun)可以使用codesign工具控制,或者是否可以使用xcrun重新签名?

我的辞职脚本我目前正在做

  • 解压缩app.ipa
  • appname = $(ls Payload)
  • xcrun -sdk iphoneos PackageApplication -s"$ provisioning_profile""$ project_dir/Payload/$ appname"-o"$ project_dir/app-resigned.ipa"--sign"$ provisioning_profile"--embed"$ mobileprovision"

我查看了生成的ipa文件,它似乎与原始应用程序非常相似.这里应该改变哪些文件?我最初认为_CodeSignature/CodeResources会改变,但内容看起来几乎完全一样.

指针非常感谢.

iphone build codesign ipa

127
推荐指数
7
解决办法
10万
查看次数

尝试获取证书时出错:在钥匙串中找不到指定的项目

我在处理我的应用程序时遇到了问题,因此我从钥匙串中删除了所有密钥.然后我去了证书助理=>从证书颁发机构申请证书(为新证书创建CSR).

所以输入我的电子邮件地址,这是我得到的:

在钥匙串中找不到指定的项目.

我究竟做错了什么?

PS当我尝试创建证书颁发机构时,我得到同样的错误.

codesign ios

93
推荐指数
9
解决办法
5万
查看次数

如何为Mac App Store配置框架包?

最近提交后,我收到以下错误:

签名无效 - 嵌套的应用程序包(FooBar.app/Contents/Frameworks/GData.framework)未签名,签名无效,或者未使用Apple提交证书签名.有关更多信息,请参阅"代码签名和应用程序沙盒指南".

签名无效 - 嵌套的应用程序包(FooBar.app/Contents/Frameworks/Growl.framework)未签名,签名无效,或者未使用Apple提交证书签名.有关更多信息,请参阅"代码签名和应用程序沙盒指南".

签名无效 - 嵌套的应用程序包libcurl(FooBar.app/Contents/Frameworks/libcurl.framework)未签名,签名无效,或者未使用Apple提交证书签名.有关更多信息,请参阅"代码签名和应用程序沙盒指南".

所以我根据Technote 2206签署了所有框架包:

codesign -f -v -s "3rd Party Mac Developer Application: Name" ./libcurl.framework/Versions/A/libcurl
codesign -f -v -s "3rd Party Mac Developer Application: Name" ./libcurl.framework/Versions/A/libssh2.1.dylib
codesign -f -v -s "3rd Party Mac Developer Application: Name" ./Growl.framework/Versions/A/Growl
codesign -f -v -s "3rd Party Mac Developer Application: Name" ./GData.framework/Versions/A/GData
Run Code Online (Sandbox Code Playgroud)

Technote 2206说:

签署框架

看到框架是捆绑包,看起来你可以直接签署框架似乎是合乎逻辑的.然而,这种情况并非如此.为了避免在签署框架时出现问题,请确保签署特定版本而不是整个框架:

#这是错误的方法:

codesign -s my-signing-identity ../FooBarBaz.framework

#这是正确的方法:

codesign -s my-signing-identity ../FooBarBaz.framework/Versions/A

当我尝试验证结果时,它对我来说很好看:

% codesign -vvv FooBar.app/Contents/Frameworks/libcurl.framework
FooBar.app/Contents/Frameworks/libcurl.framework: valid on …
Run Code Online (Sandbox Code Playgroud)

xcode itunesconnect codesign mac-app-store

80
推荐指数
2
解决办法
3万
查看次数

Sierra中的安全性/协同设计:Keychain忽略访问控制设置和UI提示以获得许可

从macOS Sierra开始,我无法在没有usr/bin/codesign UI的情况下使用/ usr/bin/security将codeign-identity导入到钥匙串中,以便在使用此标识时提示访问.这打破了构建服务器的打包脚本.似乎没有解决方法.这会影响自定义创建的钥匙串,但也会影响login.keychain.

重现步骤:在终端中执行以下命令(要求签名标识可用于导入):

security create-keychain -p test buildagent.keychain
security unlock-keychain -p test buildagent.keychain

security list-keychains -d user -s buildagent.keychain
security default-keychain -s buildagent.keychain

security import identity.p12 -k buildagent.keychain -P password -T /usr/bin/codesign

codesign -vfs '$IDENTITY' '${PRODUCT}' --keychain 'buildagent.keychain'
Run Code Online (Sandbox Code Playgroud)

结果:macOS显示UI提示,要求获得访问先前导入的私钥的权限.

我尝试了很多解决方法,但似乎没有任何工作:

  • 指定keychain-name时使用新的.keychain-db扩展名
  • 使用login.keychain而不是自定义的
  • 使用-A导入p12('允许任何应用程序访问导入的密钥')
  • 单独导入Cert und Key(使用openssl pkcs12从p12中提取)

导入身份肯定有效,我可以在Keychain Access应用程序中显示钥匙串的内容时看到证书和密钥.私钥的访问控制设置也已正确配置(使用所需的代码签名例外规则).

如何避免来自Sierra的UI提示?

macos keychain codesign ios macos-sierra

68
推荐指数
4
解决办法
3万
查看次数

命令/ usr/bin/codesign失败,退出代码为1

我有以下错误:

命令/ usr/bin/codesign失败,退出代码为1

这是我已经尝试解决这个问题的方法:

  • 将包标识符设置为com.server.pgmname
  • 将代码签名设置为"Any Iphone OS Device"
  • 将代码签名标识设置为我的分发标识.

只有当我尝试在我的设备上构建时才会出现错误,在模拟器上一切正常.

你有什么建议吗?

iphone exit-code codesign ios

61
推荐指数
8
解决办法
12万
查看次数

使用xcodebuild构建iOS应用程序而不使用codeign

我们正在为另一家公司构建应用程序.他们持有签名密钥,宁愿不与我们分享.

应该可以分离构建和签名,但是如何在xcodebuild的命令行中指定它?

xcode build codesign ios

53
推荐指数
3
解决办法
4万
查看次数

命令/ usr/bin/codesign失败,退出代码为1-代码符号错误

我目前正在向Apple商店提交我的第一个应用程序.我已完成以下流程

  1. 获得开发者帐户
  2. 登录会员中心以创建应用程序ID
  3. 使用钥匙串访问请求和接收分发证书
  4. 使用我的ID和证书获取配置文件

当我构建应用程序时,它在应用程序模拟器和实际的ipad上运行完美,但是当我将我的应用程序切换到ArchiveiOS设备时,我有一个主要的代码签名错误,我已在下面附加.

codesign /Users/Gaby/Library/Developer/Xcode/DerivedData/RoyalAppInspection-dthvtpxadkslqmhkwdpaqkyujscg/Build/Products/Debug-iphoneos/RoyalAppInspection.app
cd /Users/Gaby/Desktop/RoyalAppInspection
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/bin:/bin:/usr/sbin:/sbin


/usr/bin/codesign --force --sign 79640A11C8D22589BD337496ABB8443581513846 --entitlements /Users/Gaby/Library/Developer/Xcode/DerivedData/RoyalAppInspection-dthvtpxadkslqmhkwdpaqkyujscg/Build/Intermediates/RoyalAppInspection.build/Debug-iphoneos/RoyalAppInspection.build/RoyalAppInspection.app.xcent /Users/Gaby/Library/Developer/Xcode/DerivedData/RoyalAppInspection-dthvtpxadkslqmhkwdpaqkyujscg/Build/Products/Debug-iphoneos/RoyalAppInspection.app

79640A11C8D22589BD337496ABB8443581513846: no identity found Command /usr/bin/codesign failed with exit code 1
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决这个问题,因为我已经尝试确保该过程的所有其他方面都已正确完成.

我所担心的一个问题是当我点击配置文件时它不会打开并且"添加到库"不会弹出(由于某种原因我无法访问iphone配置实用程序.)我手动将.mobileprovision文件添加到我的xcode项目,但我认为这也可能是我的错误的来源.

任何人,你能帮忙吗?

xcode objective-c codesign ipad ios

52
推荐指数
5
解决办法
13万
查看次数

Codesign返回1(对象ifile格式无效或不适合)错误

我正在使用Xcode 4.1 build 4B110f试图让我的iOS应用程序准备好上传.它通过了Product | Archive步骤,没有任何错误,要求两次获得签名的权限.但是当我尝试从管理器验证存档时,它会失败:

### Codesigning '/Users/uqrchern/Library/MobileDevice/Provisioning Profiles/70D2381D-3733-4F5D-88B2-4729572C2864.mobileprovision' with 'iPhone Distribution: Ron Chernich'
+ /usr/bin/codesign --force --preserve-metadata --sign iPhone Distribution: Ron Chernich --resource-rules=/var/folders/ul/ula1AHKnGpqQ9ftDnUL-l++++TM/-Tmp-/rybczU3EBd/Payload/ABRA-D.app/ResourceRules.plist --entitlements /var/folders/ul/ula1AHKnGpqQ9ftDnUL-l++++TM/-Tmp-/rybczU3EBd/entitlements_plistrZ1Vwko6 /var/folders/ul/ula1AHKnGpqQ9ftDnUL-l++++TM/-Tmp-/rybczU3EBd/Payload/ABRA-D.app
Program /usr/bin/codesign returned 1 : [/var/folders/ul/ula1AHKnGpqQ9ftDnUL-l++++TM/-Tmp-/rybczU3EBd/Payload/ABRA-D.app: replacing existing signature
/var/folders/ul/ula1AHKnGpqQ9ftDnUL-l++++TM/-Tmp-/rybczU3EBd/Payload/ABRA-D.app: object file format invalid or unsuitable
]
error: codesign failed with error 1
Run Code Online (Sandbox Code Playgroud)

我已经看过所有类似的问题和解决方案(其中一些没有任何意义,或适用于真正旧版本的工具).没有任何影响.

我还检查了3次验证是否正在使用"生产"证书,生成存档的代码签名步骤也是如此.我甚至把上面的输出变成了一个schell脚本,所以我可以手动尝试所有证书:每次都有相同的结果.

也许正在签名的.app文件真的不合适吗?

顺便提一下,codesign没有版本标志,但是手册页的日期是2006年6月1日.二进制文件的文件日期是2010年11月20日.

更新(第二天):

研究这个问题进一步发现了一个模糊的参考文献,说codeign需要以下环境变量集:

CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
Run Code Online (Sandbox Code Playgroud)

使用失败的Validate运行的输出,我创建了一个shell脚本,它在失败的codesign --force步骤和中提琴之前导出了这个var!协同设计有效.

但这并没有真正帮助我准备上传代码.有没有办法将此包含在由管理器验证按钮运行的脚本中?

一点点,仍然是解决方案!:

根据理论,有一个脚本可以生成在管理器验证...运行期间运行的所有命令,我用grep和find进行了一些挖掘.该脚本确实存在,它的名字是:

/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication
Run Code Online (Sandbox Code Playgroud)

它只是Perl,修复是在开始时将所需的环境var添加到关联数组%ENV,比如第72行:

$ENV{CODESIGN_ALLOCATE} = '/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate';
Run Code Online (Sandbox Code Playgroud)

这完全解决了这个问题. 我不知道网上所有其他海报谁认为他们通过删除证书,构建清理,关闭和重新启动Xcode等组合来修复它的方式来自哪里.我只是默默地断言这个修复偏爱科学而不是迷信,并且在Xcode 4.1 Build 4B110f及其相关的PackageApplication脚本下运行,在Snow Leopard 10.6.8下使用Perl 5.10.0运行

xcode codesign ios

40
推荐指数
1
解决办法
8724
查看次数