简体   繁体   English

iOS ipa在XCode 6.1和Yosemite上签名

[英]iOS ipa codesign on XCode 6.1 & Yosemite

I was used to sign my app with the following command 我习惯用以下命令签署我的应用程序

codesign --resource-rules=ResourceRules.plist -f -s "SIGNER_NAME" MYAPP.app

After installing Yosemite and XCode 6.1 it gives the following warning: 安装Yosemite和XCode 6.1后,它会发出以下警告:

Warning: --resource-rules has been deprecated in Mac OS X >= 10.10!

So I tried to remove the "--resource-rules" but now it gives the following (blocking) error: 所以我试图删除“--resource-rules”但现在它给出了以下(阻塞)错误:

invalid resource specification rule(s)

Is there any right way to codesign ? 有没有正确的协同设计方式?

Over on this post They answer your question. 在这篇文章中他们回答你的问题。 That post is more targeted towards using a build server (Jenkins CLI) but the answer is the same for you (and the author of the answer points out that it is NOT unique to Jenkins). 该帖子更倾向于使用构建服务器(Jenkins CLI),但答案对您来说是一样的(答案的作者指出它并非Jenkins独有)。

For the purpose of answering the question on this page, here is their answer: 为了回答本页面上的问题,这是他们的答案:

Open the "Build Settings" tab of your project. 打开项目的“构建设置”选项卡。 Searched "Code Signing Resource Rules Path", it was empty for me. 搜索“代码签名资源规则路径”,它对我来说是空的。 Change to: $(SDKROOT)/ResourceRules.plist 更改为:$(SDKROOT)/ResourceRules.plist

credits goes to Adams Blair who described this problem with SDK2.2 学分归Adams Blair用SDK2.2描述了这个问题

https://stackoverflow.com/a/7919137/2124345 https://stackoverflow.com/a/7919137/2124345

This solution doesn't remove the warning itself. 此解决方案不会删除警告本身。 But i'm pretty sure that warning isn't a problem. 但我很确定警告不是问题。 The problem is that without this setting ResourceRules.plist files isn't generated in Payload folder, and build process stops because file is missing. 问题是没有这个设置,在Payload文件夹中不会生成ResourceRules.plist文件,并且由于文件丢失,构建过程会停止。

And again, it's not related with jenkins plugin at all. 而且,它与jenkins插件根本没有关系。 Same error happens with xcrun -sdk iphoneos PackageApplication. xcrun -sdk iphoneos PackageApplication也会出现同样的错误。 Jenkins just calling this command line as a build step. Jenkins只是将此命令行称为构建步骤。

Can you use iReSign? 你能用iReSign吗? https://github.com/maciekish/iReSign https://github.com/maciekish/iReSign

It's a GUI that allows to sign (or resign) ipa files with mobileProvision certificate. 它是一个允许使用mobileProvision证书签署(或辞职)ipa文件的GUI。

I tried it with Yosemite and works like a charm. 我和优胜美地一起尝试过它,就像一个魅力。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM