2015-04-08 7 views
4

Я знаю, что существует как минимум 5 различных вопросов о SO с тем же описанием, но я пробовал каждый отдельный ответ там без каких-либо изменений.Невозможно запустить приложение Swift iOS на устройстве

За последние 12 дней я не в состоянии решить следующую ошибку:

dyld: Library not loaded: @rpath/libswiftCore.dylib 
    Referenced from: /private/var/mobile/Containers/Bundle/Application/D385AC46-BAB1-4FEB-8C08-7F78D095605E/tes.app/tes 
    Reason: no suitable image found. Did find: 
    /private/var/mobile/Containers/Bundle/Application/D385AC46-BAB1-4FEB-8C08-7F78D095605E/tes.app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x1000B0000, size=0x0018C000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/D385AC46-BAB1-4FEB-8C08-7F78D095605E/tes.app/Frameworks/libswiftCore.dylib 
  • Я отозваны сертификаты почти в 15 раз, подтверждавшие, что их имеют сюжетную линию с OU и т.д.
  • У меня есть отправил флаг встроенного быстрого кода в значение Да
  • Я установил путь поиска пути к соответствующему значению.

Есть ли кто-нибудь, кто может помочь? Похоже, я потратил 99 долларов на не-язык Apple.

+1

Вы попробовали только с помощью собственного приложения? Вы должны загрузить любое приложение-образец из Интернета и посмотреть, можете ли вы запустить его на своем устройстве. И вы говорите: «Невозможно запустить приложение Swift iOS», означает ли это, что у вас нет проблемы с Objective-C? – Wouter

+1

И попробуйте выполнить полную очистку: Product-> Clean, Product -> (Alt key) Clean Build Folder, Window-> Organizer-> Удалить производные данные. Затем снова создайте – zisoft

+0

. Вы могли запускать приложение на устройстве раньше? Я всегда предлагал, чтобы, если что-то не работает и, похоже, не может быть исправлено, деинсталляция и переустановка Xcode, что устраняет множество проблем. Попробуйте это :) – LinusGeffarth

ответ

1

В итоге я нашел ответ. Мне пришлось удалить все сертификаты в цепочке Keychain Manager.

0

Вы установили параметр «Встроенный контент с быстрым кодом» в настройках проекта?

Я нашел его здесь: dyld: Library not loaded: @rpath/libswiftCore.dylib

+0

Да. У меня нет этого и всего остального, упомянутого в этом ответе. –

+0

Итак, вы можете запускать приложения на устройстве, когда у вас есть код, написанный в объекте-c, но не Swift? Когда вы смотрите на устройство в окне «Устройства», оно появляется там? Кроме того, можете ли вы создать архив? Проверьте это: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/LaunchingYourApponDevices/LaunchingYourApponDevices.html#//apple_ref/doc/uid/TP40012582-CH27-SW1 –

+0

Да, я могу сделать архив. В окне устройств отображается мое устройство. –

0

Для чего это стоит, я не имею детали рассуждения бэк мое решение, но только теория.

Я тоже был в вашей ситуации, попробовал неудавшееся решение после решения, только чтобы продолжить работать в кругах, надеясь, что волшебное обновление от Apple решит проблему. Я прошел через аннулирование сертификатов, переустановку Xcode, проверка встроенного контента Содержит Swift Code «Да», и убедившись, что мой runpath был
@executable_path/Frameworks.

Одна проблема, которую я часто и чаще сталкиваются с проблемами, с которыми связанные с Apple, увеличивающие безопасность доступа к файлам. Похоже, что это больше проблема, когда с компьютером связано несколько профилей.

Я знаю, что это легко игнорировать много жаргона из сообщений об ошибках, но то, что прочит меня к этому вопросу была следующая ошибка, когда файл был фактически найден

mmap() error 

То, что я думаю, что происходит, при попытке переназначить libswiftCore.dylib «Причина: не найдено подходящего изображения. Нашли: «отображение из ожидаемого файла в фактическое местоположение файла, принудительное принудительное использование файлов, которое неправильно обрабатывается, что приводит к сбою приложения.

Что я сделал? Принудительная аутентификация для всех моих сертификатов, связанных с разработкой iOS. Это действие заключается в доступе к моему keychain и нажатии на закрытый ключ сертификатов и принуждении моего контроля доступа к «подтверждению перед разрешением доступа» и установке моего уровня доверия сертификатов на системные значения по умолчанию. Результатом этого стало то, что моя проектная сборка попросила меня аутентифицировать 50-60 + раз, однако это было гораздо менее болезненным, чем часы, потраченные на отладку.

Вот почему я сказал, что у моего решения нет конкретного подробного ответа, поскольку я в значительной степени использовал подход «поймать все». Поскольку я только недавно пришел к этому решению, я не проводил никаких дополнительных испытаний, чтобы определить, что конкретно вызвало ошибку, или если изменение управления доступом обратно на Xcode будет продолжено.

Это то, что сработало для меня, и из вашего описания я верю, что это сработает и для вас.

0

Мне пришлось удалить все сертификаты Apple и восстановить сертификат разработки/распространения.

Я также добавил сертификат Apple, WWDRCA и удалил с истекшим сроком годности те, используя следующие шаги:

  1. https://developer.apple.com/certificationauthority/AppleWWDRCA.cer.
  2. Двойной щелчок для установки в брелок. Затем в Keychain выберите View -> «Показать истекшие сертификаты» в приложении Keychain.
  3. Он перечислит все сертификаты с истекшим сроком действия. Удалите «Сертификаты центра сертификации сертификатов Apple Worldwide Developer» со вкладки «Войти»
  4. Также удалите его со вкладки «Система».
Смежные вопросы