--resource-правила устарели в mac os x >= 10.10

Я попытался уйти с моего ipa файла с новым профилем подготовки на Mac OS 10.10 с помощью приложения iResign, но я получил это предупреждение: "Предупреждение: -ресурсные правила устарели в Mac OS X >= 10.10".

Что мне теперь делать?

Ответ 1

Я нашел обходной путь: если вы запустите приложение iResign из XCode, то вы без проблем отмените приложение (предупреждение появится в консоли вместо popup). Но если вы закроете XCode и запустите приложение в одиночку - тогда всплывающее окно вернется к вам!

BTW: обнаружена ошибка:) Условие

if (systemVersionFloat < 10.9f)

Разрушен для Йосемити 10.10. Забавно.

Спасибо,

Ответ 2

Нажмите на свой проект > Цели > Выберите цель > Настройки сборки >

Code Signing Resource Rules Path

и добавьте:

$(SDKROOT)/ResourceRules.plist

введите описание изображения здесь

Ответ 3

Так как Xcode 7, параметр сборки Code Signing Resource Rules Path должен быть оставлен пустым или это предупреждение создается.

Техническая нота TN2206 содержит сведения:

Правила ресурса

Системы до OS X Mavericks v10.9 задокументировали функция подписки (-resource-rules) для управления файлами в комплекте должны быть запечатаны подписи кода. Эта функция устарела для Маверикс. Подписи кодов, сделанные в Mavericks, а затем всегда печать все файлы в комплекте; нет необходимости конкретно указывать это Больше. Это также означает, что сборка правил ресурса кода подписи кода настройка в Xcode больше не должна использоваться и должна оставаться пустой.

Таким образом, невозможно исключить части пучка из подпись. Связки следует рассматривать как доступные только для чтения, как только они были подписан.

Ответ 4

После того, как предыдущие решения Xcode 7 перестали работать. Новый был отмечен Риши Голем (в fooobar.com/questions/42957/...)

  • Удалить CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
  • Найдите /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication script и обновите его.
    Найдите строки, содержащие следующий код в script

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

Ответ 5

Попробуйте добавить ниже аргументы в команду xcodebuild.

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

Ответ 6

Я только что открыл свое существующее приложение iOS в Xcode 7 GM (с Xcode 6.4) и увидел это предупреждение об устаревании.

Интересно, что ответы и комментарии говорят об обновлении "Пути правил ресурсов подписи кода", а также ссылки на приложения Mac.

В моем случае у проекта был этот ключ и значение, уже заданное по умолчанию (я никогда не устанавливал его). Предупреждение о том, что правила ресурса также устарели.

Для меня удаление значения "Коды правил ресурсов подписи кода" удалено из предупреждения. Я не представил новую сборку таким образом, поэтому мне, возможно, придется вернуться и обновить этот ответ.

Просто подумал, что интересно, что мой ответ противоположный тому, что видели все остальные.

Ответ 7

Если вы закомментируете два параметра --resource-rules из списка аргументов, где приложение iResign вызывает задачу codeign, вам не нужно изменять настройки сборки проекта для проекта приложения.

Мне не нравится идея изменить настройки сборки для каждого проекта, с которым я хочу работать, только чтобы я мог уйти в отставку.

Я перестроил инструмент списания и скопировал его в свой каталог приложений, так что мне не нужно открывать его в Xcode.