--resource-rules has been deprecated in mac os x >= 10.10 --resource-rules has been deprecated in mac os x >= 10.10 ios ios

--resource-rules has been deprecated in mac os x >= 10.10


Click on your project > Targets > Select your target > Build Settings >

Code Signing Resource Rules Path

and add :

$(SDKROOT)/ResourceRules.plist

enter image description here


Since Xcode 7, the Code Signing Resource Rules Path build setting must be left empty or else this warning is produced.

Technical Note TN2206 provides the details:

Resource Rules

Systems before OS X Mavericks v10.9 documented a signing feature (--resource-rules) to control which files in a bundle should be sealed by a code signature. This feature has been obsoleted for Mavericks. Code signatures made in Mavericks and later always seal all files in a bundle; there is no need to specify this explicitly any more. This also means that the Code Signing Resource Rules Path build setting in Xcode should no longer be used and should be left blank.

It is thus no longer possible to exclude parts of a bundle from the signature. Bundles should be treated as read-only once they have been signed.


After Xcode 7 previous solutions stopped working. A new one was pointed by Rishi Goel (in https://stackoverflow.com/a/32762413/2252465)

  1. Remove CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
  2. Find the /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication script and update it.
    Find the lines including the following code in the script

    my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements,resource-rules",                  "--sign", $opt{sign},                  "--resource-rules=$destApp/ResourceRules.plist");

    change it to:

    my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements",                  "--sign", $opt{sign});