–resource-rules在mac os x> = 10.10中已被弃用

我试图用iResign应用程序在Mac Os 10.10上使用新的configuration文件辞职,但我得到了这个警告:“警告: – 资源规则已经在Mac OS X10.10中不推荐使用”。

我现在应该怎么做?

我find了解决办法 :如果您从XCode运行iResign应用程序 – 那么您将会顺利地退出应用程序(警告将出现在控制台而不是popup窗口中)。 但是,如果您closuresXCode并单独运行应用程序 – 那么popup窗口就会返回给您!

BTW:发现错误:)的条件

 if (systemVersionFloat < 10.9f) 

优胜美地10.10被打破了。 滑稽。

谢谢,

点击您的项目>目标>select您的目标>构build设置>

Code Signing Resource Rules Path

并添加:

$(SDKROOT)/ResourceRules.plist

在这里输入图像说明

由于Xcode 7Code Signing Resource Rules Path build立设置必须留空,否则会产生此警告。

技术说明TN2206提供了详细信息:

资源规则

在OS X Mavericks v10.9之前的系统logging了一个签名特征(–resource-rules)来控制捆绑包中的哪些文件应该被代码签名密封。 这个function已经被小牛淘汰了。 代码签名在小牛和后来总是密封所有文件的捆绑; 没有必要再明确指出这一点。 这也意味着Xcode中的代码签名资源规则path构build设置应该不再使用,并且应保留为空。

因此不再可能从签名中排除一部分捆绑。 捆绑包在签名后应该被视为只读。

之前的Xcode 7之前的解决scheme停止工作。 Rishi Goel指出了一个新的( https://stackoverflow.com/a/32762413/2252465

  1. 删除CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
  2. find/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication脚本并更新它。
    在脚本中find包含以下代码的行

     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}); 

尝试在xcodebuild命令中添加下面的参数。

 -sdk iphoneos CODE_SIGN_RESOURCE_RULES_PATH='$(SDKROOT)/ResourceRules.plist' 

我刚刚在Xcode 7 GM(来自Xcode 6.4)中打开了我现有的iOS应用程序,并看到了这个弃用警告。

有趣的是,答案和评论意味着更新“代码签名资源规则path”,他们也参考了Mac应用程序。

在我的情况下,项目有这个键和值已经默认设置(我从来没有设置它)。 警告是关于资源规则也被弃用。

对我而言,删除“代码签名资源规则path”的值将删除警告。 我还没有这样提交一个新的构build,所以我可能不得不回来更新这个答案。

只是觉得有趣的是我的回答与其他人都看到的是相反的。

如果您从参数列表中注释掉两个–resource-rules参数(其中iResign应用程序调用了codesign任务),则不必更改应用程序项目的项目构build设置。

我不喜欢为每个想要使用的项目修改构build设置的想法,以便我可以辞职。

我重build了resign工具,并将其复制到我的Applications目录中,这样我就不必在Xcode中打开它。

Interesting Posts