–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 7 , Code 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 )
- 删除
CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
-
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中打开它。