我尝试使用iResign应用程序在Mac Os 10.10上使用新的配置文件重新签名我的ipa文件,但我收到了此警告:“警告: - Mac OS X中已弃用--resource-rules> = 10.10”。
我现在该怎么办?
答案 0 :(得分:153)
点击您的项目>目标>选择目标>构建设置>
Code Signing Resource Rules Path
并添加:
$(SDKROOT)/ResourceRules.plist
答案 1 :(得分:24)
从 Xcode 7 开始,XSetWindowAttributes xattr;
memset(&xattr,0,sizeof(XSetWindowAttributes));
xattr.override_redirect = 0;
构建设置必须保留为空,否则会产生此警告。
Technical Note TN2206提供了详细信息:
资源规则
OS X Mavericks v10.9之前的系统记录了一个 签名功能(--resource-rules)来控制捆绑包中的哪些文件 应该用代码签名密封。此功能已过时 对于小牛队。代码签名在小牛队制作,后来总是密封 捆绑中的所有文件;没有必要明确指定任何 更多。这也意味着代码签名资源规则路径构建 不应再使用Xcode中的设置,应将其留空。
因此不再可能从中排除部分捆绑 签名。捆绑包应该被视为只读 签名。
答案 2 :(得分:10)
在Xcode 7之后,之前的解决方案停止了工作。 Rishi Goel(https://stackoverflow.com/a/32762413/2252465)指出了一个新的
CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication
脚本并进行更新
在脚本中找到包括以下代码的行
my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements,resource-rules",
"--sign", $opt{sign},
"--resource-rules=$destApp/ResourceRules.plist");
将其更改为:
my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements",
"--sign", $opt{sign});
答案 3 :(得分:6)
我找到了解决方法:如果您从XCode运行iResign应用程序 - 那么您将毫无问题地重新签名应用程序(警告将出现在控制台而不是弹出窗口中)。 但如果您关闭XCode并单独运行应用程序 - 那么弹出窗口将返回给您!
BTW:发现错误:) 条件
if (systemVersionFloat < 10.9f)
优胜美地10.10被打破。有趣的。
谢谢,
答案 4 :(得分:4)
尝试在xcodebuild命令中添加以下参数。
-sdk iphoneos CODE_SIGN_RESOURCE_RULES_PATH='$(SDKROOT)/ResourceRules.plist'
答案 5 :(得分:1)
我刚刚在Xcode 7 GM中打开了我现有的iOS应用程序(来自Xcode 6.4)并看到了这个弃用警告。
有趣的是,答案和评论都是为了更新代码签名资源规则路径&#39;他们还参考了Mac应用程序。
就我而言,项目默认设置了此键和值(我从未设置过)。警告是关于资源规则也被弃用。
对我来说,删除&#39;代码签名资源规则路径&#39;删除了警告。我没有以这种方式提交新版本,所以我可能不得不回来更新这个答案。
我觉得有趣的是我的回答与其他人所看到的相反。
答案 6 :(得分:1)
如果您要使用终端设备对应用程序进行签名,那么您甚至可以在执行代码签名时省略resource-rules
,因为无需在外部指定要签名的资源和不签名的资源。现在,必须对包中的所有资源进行签名。
要使用终端设备退出应用,您可以按照以下步骤操作:
unzip MyApp.ipa
rm -rf Payload/MyApp.app/_CodeSignature/
cp ~/Desktop/MyAdHoc.mobileprovision Payload/MyApp.app/embedded.mobileprovision
codesign -f -s "iPhone Distribution: Code signing Certificate for Enterprise or Ad-hoc app" Payload/MyApp.app
zip -qr MyApp_Resigned.ipa Payload/
答案 7 :(得分:0)
如果你从参数列表中注释掉两个--resource-rules参数,iResign应用程序调用的是codesign任务,那么你就不必更改应用程序的项目构建设置了。项目
我不喜欢为我想要使用的每个项目修改构建设置的想法,只是为了让我可以辞职。
我重建了resign工具,并将其复制到我的Applications目录中,因此我不必在Xcode中打开它。