Пытался восстановить приложение, которое работало только вчера. Получил сообщение об истечении срока действия профиля, поэтому я удалил его из iPod и из iTunes. Когда я выбрал новый профиль (один с * в идентификаторе), я теперь получаю сообщение об ошибке:
Ошибка знака кода: не удается найти профиль обеспечения (длинная строка).
Что мне не хватает? Я просмотрел связанные вопросы и не видел этот сценарий уже.
источник
Вот более простое решение, которое сработало для меня и не требует ручного редактирования файла проекта:
В XCode на панели «Группы и файлы» разверните «Цели» и дважды щелкните по цели вашего приложения. Это вызывает информационную панель для цели. В разделе «Сборка» проверьте раздел «Подписывание кода» на наличие старых профилей и замените их на правильные.
Обратите внимание, что это отличается от двойного щелчка по значку вашего проекта и изменения профиля оттуда. Довольно удивительно :)
Ori
источник
Свойства проекта и целей -> «Ваш профиль обеспечения» -> ОК
Все снова работает!
источник
Я согласен с ответом Брэда, что вы можете решить эту проблему, отредактировав вашу цель / проект вручную, удалив любые строки, подобные этой:
Однако в Xcode 4.2 и позже, есть намного более легкий способ получить доступ к этому тексту и выбрать и удалить его. В Навигаторе проектов слева выберите свой проект (самая верхняя строка Навигатора проектов). Теперь просто выберите «Просмотр»> «Редактор версий»> «Показать редактор версий». Это отображает ваш проект в виде текста, и вы можете выполнить поиск PROVISIONING и удалить проблемную строку прямо на панели редактора Xcode.
источник
Только что увидел вариант в этом вопросе: я вошел в файл project.pbxproj согласно примечаниям Брэда Смита выше, за исключением того, что в этом случае все строки PROVISIONING_PROFILE казались правильными, без появления «плохой» строки профиля, которую XCode не мог не найти.
Однако исправление было таким же: удаление ВСЕХ строк PROVISIONING_PROFILE в project.pbxproj, даже если они выглядели «хорошо» в теории, а затем повторное открытие проекта в XCode.
источник
Чтобы достичь решения Брэда полностью в Терминале, используйте эти команды
cd [Xcode project parent]
vi [Xcode project name].xcodeproj/project.pbxproj
/[offending provisioning profile] [Enter]
dd
- удалить всю строкуисточник
В моем случае проблема была решена путем открытия Window -> Organizer, выбора моего устройства и удаления старого профиля Provisioning Profile в панели «Provisioning» справа. Старый уже был отмечен красным символом «х», но iPhone все еще использовал его.
Помимо этого профиля, также появлялся новый (с тем же именем), и после простого перезапуска приложения оно работало без сбоев.
источник
Просто потратил час или около того, делая это, и с помощью совета Брэда и нескольких дополнительных изменений все это работало.
Я сделал это, используя следующее: 10.7.3, Xcode 4.3.2, iOS 5.1, кстати.
1) Щелкните правой кнопкой мыши
myapp.xcodeproj
и выберите содержимое пакета2) открыть
project.pbxproj
с помощью текстового редактора (не рекомендуется textedit, поскольку это может испортить форматирование)3) Прокрутите весь путь вниз, пока не найдете
/* Begin XCBuildConfiguration section */
4) Обратите внимание, что у вас есть разделы отладки и выпуска
5) В разделе релиза взгляните на
CODE_SIGN_IDENTITY
&"CODE_SIGN_IDENTITY[sdk=iphoneos*]"
это должно выглядеть примерно так:6) Взгляните,
PROVISIONING_PROFILE
и"PROVISIONING_PROFILE[sdk=iphoneos*]"
они должны выглядеть так:Это должно соответствовать вашему профилю обеспечения в XCode. Чтобы увидеть, совпадают ли они, откройте Xcode> Window> Organizer> Devices> Provisioning Profiles> Щелкните правой кнопкой мыши профиль> Reveal in Finder> Имя файла .mobileprovision - это идентификатор вашего профиля.
7) Прокрутите вниз
project.pbxproj
и найдите второй экземпляр раздела релиза. Второй экземпляр раздела релиза должен заканчиваться комментарием/* End XCBuildConfiguration section */
8) убедитесь, что второй раздел совпадает с первым разделом
CODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*]
, иPROVISIONING_PROFILE
все они заполнены.источник
Одно предложение, которое я сделаю, так как еще никто не сказал этого: ПОЖАЛУЙСТА, ПОЖАЛУЙСТА, ПОЖАЛУЙСТА, сделайте резервную копию всего вашего файла .xcodeproj ДО того, как вы начнете изменять его содержимое. Завинчивание файла проекта и отсутствие резервной копии приведет к очень и очень неприятному опыту.
Возможность отказаться от редактирования может быть находкой.
источник
Я только что столкнулся с этой проблемой в моем XCode4. Чтобы исправить это, вам нужно поместить все правильные положения в конфигурацию Debug и Release.
Я пытался отправить (архивируя) свое приложение. Поэтому я просто изменяю условия отладки на «Не подписывать код», а положение «Релиз» на положение моего магазина приложений.
Это исправляет и позволяет мне архивировать в обычном режиме. Надеюсь, это поможет.
источник
Выберите строки в коде подписи, которые являются пустыми под Any iOS SDK и выберите правильный сертификат.
источник
Решение Брэда Смита сработало для меня, но мне также пришлось удалить поле CODE_SIGN_IDENTITY, чтобы оно заработало.
источник
К сожалению, этот подход не сработал для меня. Но вот исправление, которое сработало для меня (чтобы заставить это работать, вам нужен рабочий файл проекта на Subversion или около того):
Я сделал откат до рабочей версии файла моего проекта. Поскольку невозможно выполнить возврат с помощью Xcode ( где опция «Восстановить» в исходном контроле Xcode 4? ) - я использовал Tortoise, мой компьютер с Windows и это руководство ( http://tortoisesvn.net/docs/nightly/TortoiseSVN_en /tsvn-howto-rollback.html ) для отката к старому файлу проекта.
Поскольку учебник для меня не сработал, я просто использовал Tortoise, чтобы сохранить рабочую версию файла моего проекта на флешку, чтобы перенести его на мой Mac. После этого я заменил новый испорченный файл проекта старым рабочим, почистил, и он работал как шарм!
источник
У меня были проблемы, потому что я обновил свой профиль обеспечения AdHoc некоторыми новыми устройствами для использования в TestFlight. Предположительно это происходит потому, что xcode имеет старую ссылку на ваш профиль обеспечения в настройках компоновки кода для проекта или целей. Способ, которым я исправил свой, был следующим:
источник
По крайней мере, в Xcode 5 это то, что решило проблему для меня:
В разделе «Профиль обеспечения» выберите неправильный профиль обеспечения, а затем выберите действительный профиль обеспечения в раскрывающемся меню.
источник
Вы можете удалить старую ссылку на файл инициализации. Затем после импорта нового профиля обеспечения и выбора Xcode Builder.
источник