我不小心在xcode中删除了我的目标.
所以我创建了一个具有完全相同名称的新的.在目标设置中,我再次选择了正确的代码签名标识
但现在我不能再为设备编译了.一旦我想建立,我得到:
CodeSign build/Release-iphoneos/myApp.app
....somestuff....
/Volumes/XCodeProj/myApp/build/Release-iphoneos/myApp.app: object file format invalid or unsuitable
Connad /usr/bin/codesign failed with exit code 1
Run Code Online (Sandbox Code Playgroud)
我已经尝试过清理目标了.什么可能导致这个问题,以及如何解决它?
我是iOS开发的新手,今天我尝试在我的iPhone上查看我的应用程序并尝试为该设备构建它.因此,当我点击构建时,它要求输入我的密码以让代码签名来访问密钥链.但经过几次尝试,我不小心点击了拒绝按钮.然后我再次尝试为设备构建我的应用程序,现在它说,
Swift sodlib tool error, task failed with exit 1 signal 0
Run Code Online (Sandbox Code Playgroud)
当我检查它说错误时,
unknown error -1=ffffffffffffffff
error: Task failed with exit 1 signal 0 {
/usr/bin/codesign '--force' '--sign' 'A6646CD79C82476C1C35598A10134D3171EE09CD' '--verbose' '/Users/samitha/Library/Developer/Xcode/DerivedData/TestFoodTracker-gdcqosdrvtooqocosgttmwyzvgtg/Build/Products/Debug-iphoneos/TestFoodTracker.app/Frameworks/libswiftContacts.dylib'
Run Code Online (Sandbox Code Playgroud)
我做了什么
我试图让codesign访问"keychain Access"并检查登录时的每个密钥,但是在每个密钥的"访问控制"部分中,"已允许所有应用程序访问此项目"已被选中.
我找不到更多方法来纠正这个错误,让我的应用程序为我的设备构建.如果有人知道如何纠正这个,请帮助我.谢谢.
我正在尝试设置一种自动方式来签署我的iOS应用程序.在使用codeign之前,有没有办法以编程方式从命令行确定我的有效签名身份是什么?
例如,对于命令
codesign -v --sign "iPhone Distribution: Joe Developer" /path/to/app
Run Code Online (Sandbox Code Playgroud)
我怎么能弄明白"iPhone发行版:Joe Developer"是一个有效的身份?我如何计算其他有效身份?
我更喜欢在命令行中执行此操作的方法,但是从cocoa中也可以工作.
安装Xcode 4.3后,我无法使用管理器验证和分发应用程序.在Xcode中构建,签名和验证时,组织者中的验证失败,并在此问题的标题中显示消息.
首先,Xcode 4.3可以自动下载配置文件(管理器中有一个选项),但它只下载开发配置文件并忽略分发配置文件,就好像没有.好的,我手动下载并安装它,它出现在管理器中.然后,我为项目和目标设置了正确的代码签名标识,并使用与我的钥匙串中的分发证书匹配的分发配置文件.然后我进行归档(build-sign-verify)并且没有错误,在日志中我看到CodeSign的绿色复选标记和验证步骤.看起来很好,存档显示在管理器中.
这就是出错的地方,我只选择验证,选择我刚刚在iTunes Connect中准备的新版本,选择正确的代码签名身份,与用于存档的相同(实际上,我的情况下没有其他选择),它要求对于iTunes登录/密码照常,然后说
Codeign操作失败
检查您选择的身份是否有效
唉唉!为什么!?归档它时没有问题,然后在尝试提交到AppStore时,相同的代码签名不起作用.好吧,甚至没有提交,但在实际发送之前进行验证.所以这个问题是我的机器的本地问题.在构建期间成功完成的签名和验证在Organizer中失败...
我尝试了一切,重新安装Xcode,删除/撤销并重新颁发所有证书,从钥匙串中删除重复的私钥和公钥,将所有证书放入一个"登录"钥匙串,发布新配置文件,安装Application Loader 2.5.1,以及等等......仍然没有运气.
可能是因为我之前的Xcode安装有一些遗留问题吗?或者我必须更新一些工具才能使管理器正常工作?
同时,如果有人知道将二进制文件上传到AppStore的另一种方式,请分享.我无法弄清楚如何使用Application Loader,当它要求我选择要上传的包时,我所拥有的是Xcode在存档步骤中创建的xcode存档.如何获取iap或Application Loader想要的任何文件?
有没有办法从签名APK获取密钥哈希?我们有一个签名的Android apk文件,我们想找到这个APK的密钥哈希,用于Facebook SDK.我们可以通过像jarsigner这样的东西来做吗?
有什么建议?
我已经使用"安全"终端应用程序将用于iOS开发的开发者身份(证书+私钥)导入到钥匙串中
security import identity.p12 -k <keychain> -P <passphrase>
Run Code Online (Sandbox Code Playgroud)
这会将p12文件中包含的两个项目,证书和私钥导入到给定的钥匙串中.-T /usr/bin/codesign但是,我忘了指定将codesign应用程序添加到私钥的访问列表中.我试图将codesign app添加到访问列表中无济于事:
security delete-certificate和重新导入从钥匙串中删除证书.这不会更改私钥的访问列表.由于我只有ssh访问机器,使用Keychain GUI应用程序将无法正常工作.因此,我正在寻找一种从钥匙串中删除私钥的方法(以便我之后可以重新导入身份).我已经检查了该security工具的手册页,但没有找到删除私钥的方法.
有没有办法可以使用终端命令从钥匙串中删除私钥(因为我只有ssh访问相关机器)?
出于某种原因,每当我尝试使用xcode进行编码时,我都会收到此错误
(应用程序的路径):操作已被用户取消.命令/ usr/bin/codesign失败,退出代码为1
我正在尝试使用SDK版本6.1.2和Xcode 9 beta为我的应用程序编译ad-hoc IPA(试图查看该应用程序是否在新版本中运行).我的构建失败,出现以下错误消息:
Error Domain=IDEProvisioningErrorDomain Code=9 ""DGHospice.app"
requires a provisioning profile." UserInfo=
{NSLocalizedDescription="DGHospice.app" requires a provisioning
profile., NSLocalizedRecoverySuggestion=Add a profile to the
"provisioningProfiles" dictionary in your Export Options property
list.}
Run Code Online (Sandbox Code Playgroud)
分发配置文件有效,如果我使用iOS SDK 10,我可以创建IPA.仅在11.0中构建失败.有人可以帮助我查明问题吗?
我想创建一个工具,用于远程协调Linux应用程序上的iOS应用程序.
我知道代码签名是oss但是很大程度上依赖于钥匙链而且不那么便携.
我知道Adobe有一个用于win和mac的代码签名实用程序,它可以获取配置文件,.p12和.cer并对应用程序进行签名.
UDK也做了类似的事情,但似乎不需要.p12(http://udn.epicgames.com/Three/AppleiOSProvisioning.html)
所以我的问题是,他们正在做的过程是什么,所以我可以重新创建一个跨平台的工具,可以做到这一点.
我的公司使用一台构建机器(Mac Mini)作为CI节点来构建我们的iOS应用程序.我们目前在mini上构建了一个Ad-Hoc和一个App Store配置.我们最近注册了企业计划,并希望开始构建企业配置.但是,我们的构建过程现在失败了,因为我们现在有两个名为"iPhone Distribution:Widget Corporation"的证书.一个是AdHoc/AppStore的分发证书,一个是Enterprise(Apple称之为In-House).
我已经尝试修改mini的钥匙链,使得一个证书在登录钥匙串中,一个在一个名为"enterprise"的新钥匙串中,但这只是从构建开始转移了错误:
CodeSign error: Certificate identity 'iPhone Distribution: Widget Corporation' appears more than once in the keychain.
Run Code Online (Sandbox Code Playgroud)
到构建结束时:
iPhone Distribution: Widget Corporation: ambiguous (matches "iPhone Distribution: Widget Corporation" in /Users/hudson.admin/Library/Keychains/login.keychain and "iPhone Distribution: Widget Corporation" in /Users/hudson.admin/Library/Keychains/enterprise.keychain)
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否有办法正确沙箱两个证书,以便我可以在同一台机器上构建应用程序的Ad-Hoc,App Store和内部版本.我还没有尝试的唯一可能的解决方案是将证书与源捆绑在一起,并根据security需要添加和删除证书; 显然,解决方案不是很漂亮,并带来安全风险.
有任何想法吗?
codesign ×10
ios ×5
xcode ×4
iphone ×3
keychain ×3
code-signing ×2
android ×1
distribution ×1
facebook ×1
hudson ×1
ios4 ×1
macos ×1
objective-c ×1
terminal ×1
validation ×1