Приложение Swift аварийно завершает работу при запуске на устройстве - dyld: библиотека не загружена: @ rpath / libswiftCore.dylib

Я новичок в мире ios / xcode и пытаюсь протестировать простое приложение Swift на своем iphone 5 под управлением iOS v8.0.2. Приложение успешно создается в xcode (версия 6.1 (6A1052d)), но при попытке запустить его на iphone вылетает со следующей ошибкой:

dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /private/var/mobile/Containers/Bundle/Application/FBBDB6F3-6B2C-428F-AA9C-E88FE439D5B6/prox.app/prox
  Reason: no suitable image found.  Did find:
    /private/var/mobile/Containers/Bundle/Application/FBBDB6F3-6B2C-428F-AA9C-E88FE439D5B6/prox.app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x001FA000, size=0x001A0000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/FBBDB6F3-6B2C-428F-AA9C-E88FE439D5B6/prox.app/Frameworks/libswiftCore.dylib
    /private/var/mobile/Containers/Bundle/Application/FBBDB6F3-6B2C-428F-AA9C-E88FE439D5B6/prox.app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x004DA000, size=0x001A0000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/FBBDB6F3-6B2C-428F-AA9C-E88FE439D5B6/prox.app/Frameworks/libswiftCore.dylib
(lldb) 

Я испробовал большинство предложений, которые помогли другим, которые столкнулись с этой ошибкой, но не смогли ее обойти. То же приложение отлично работает при создании с использованием среды сборки другого члена команды. Я сравнил настройки сборки и обнаружил, что они идентичны.


person user4321945    schedule 03.12.2014    source источник
comment
Сообщите об ошибке в Apple или обратитесь в службу поддержки. В последнее время у многих людей возникает такая же проблема. Что-то пошло не так со Swift.   -  person matt    schedule 04.12.2014
comment
На каком именно устройстве может работать другой член вашей команды?   -  person matt    schedule 04.12.2014
comment
Другой член команды использует iPhone под управлением iOS 8.1.1. Я думаю, что это как-то связано со средой сборки, потому что приложение, построенное на xcode других членов команды (та же версия, что и моя), отлично работает на моем устройстве.   -  person user4321945    schedule 04.12.2014
comment
Я сказал точно. Не бывает iPhone. Какой iPhone? Это может быть важно. Мы знаем, что у вас есть iPhone 5. Теперь мы хотим узнать, что у него есть. Пожалуйста, узнай.   -  person matt    schedule 04.12.2014
comment
Это не имеет ничего общего со средой сборки. Я создавал приложения Swift и запускал их на своем устройстве в течение нескольких месяцев, а потом этого не произошло. Я ничего не менял. Изменился именно Свифт. Теперь нам нужно выяснить, как это сделать.   -  person matt    schedule 04.12.2014
comment
У меня такая же проблема, как и десять дней назад. С тех пор были в отпуске и больше не возвращались. Думал, это только я ...   -  person Mike Taverne    schedule 04.12.2014
comment
@Matt - другой человек, который может создавать и развертывать на всех наших устройствах, использует iphone 5s. Когда я создаю то же приложение на своем Mac и пытаюсь развернуть его на своем устройстве, это терпит неудачу.   -  person user4321945    schedule 04.12.2014
comment
Именно то, что я подозревал. Так что я держу пари, что это проблема 32-битного устройства против 64-битного. Что-то пошло не так со Swift, поэтому вы не можете разрабатывать на 32-битном устройстве. Спасибо за подтверждение!   -  person matt    schedule 04.12.2014
comment
О, и это может дать нам обходной путь; вы могли бы разработать на своем устройстве, подавив 64-битную архитектуру в настройках сборки. Другими словами, если единственной архитектурой является 32-битная архитектура, это может решить проблему. Это не настоящее решение, просто обходной путь; очевидно, вы не захотите подавлять 64-битность в реальной жизни.   -  person matt    schedule 04.12.2014
comment
@MikeTaverne Какой у вас тип устройства?   -  person matt    schedule 04.12.2014
comment
@matt - iPhone 6 Plus. Но мой коллега может запустить то же приложение на моем телефоне. И я не могу запустить приложение на iPhone 6. Мое устройство работало еще две недели назад. В то время у меня были некоторые проблемы с моим сертификатом разработчика и профилем обеспечения, после чего проблема, похоже, началась. Приложение запускается на моем устройстве сейчас - я вижу экран запуска - затем вылетает с ошибкой, описанной выше. Я подозреваю, что проблема с моим сертификатом все еще. Вроде проблема личная :)   -  person Mike Taverne    schedule 04.12.2014
comment
Но приложение отлично работает на iPod 5-го поколения с iOS 7.0.6. Аргх.   -  person Mike Taverne    schedule 05.12.2014
comment
@Matt - вот что служба поддержки Apple Dev сообщает об этой проблеме. Наши инженеры рассмотрели ваш запрос и определили, что вы столкнулись с проблемой, для которой в настоящее время нет известного решения. :-(   -  person user4321945    schedule 05.12.2014
comment
@MikeTaverne Достаточно теории битвы. - Вот в чем дело. Возможность разработки на устройстве - это именно то, за что вы платите 99 долларов в год. Если вы просто хотели развиваться на симуляторе, это бесплатно. Так что, если вы не можете разрабатывать на устройстве и платите за это, Apple нарушает контракт. Они должны решить эту проблему, и мы должны дать им понять это.   -  person matt    schedule 05.12.2014
comment
@matt Как лучше всего поднять вопрос в Apple? Раньше я этого не делал. Представляете ли вы, насколько распространена эта проблема? Спасибо.   -  person Mike Taverne    schedule 05.12.2014
comment
@MikeTaverne Это наверняка разлетелось по всем форумам разработчиков Apple. И выполните поиск здесь по ключевым частям сообщения об ошибке. Взгляните, например, на связанные ссылки справа от этого комментария! Я предполагаю, что лучше всего поднять это как инцидент со службой поддержки разработчиков и не удовлетвориться ответом - нет известного обходного пути. Они должны предоставить решение.   -  person matt    schedule 05.12.2014
comment
Открыл заявку в службу поддержки, посмотрим, что будет.   -  person Mike Taverne    schedule 05.12.2014
comment
Наши инженеры рассмотрели ваш запрос и определили, что вы столкнулись с проблемой, для которой в настоящее время нет известного решения.   -  person Mike Taverne    schedule 05.12.2014
comment
@MikeTaverne: Верно, они тоже сказали ОП. Но они не могут оставить все как есть. Это не просто проблема - это полное нарушение контракта. Вы заплатили за членство в разработке. Членство разработчика, при котором вы не можете заниматься разработкой на устройстве, - это вообще не членство, поскольку, если все, что вам нужно, - это разработка на симуляторе, вы можете сделать это бесплатно. Здесь они должны доставить вам удовольствие.   -  person matt    schedule 07.12.2014
comment
@MikeTaverne Хорошо, мне повезло с решением Дэвида Бергера. Мне пришлось удалить и установить так много вещей по пути, что трудно понять, где закрепить решение, но это правда, что после удаления всех сертификатов (включая их очистку из моей связки ключей) и всех профилей для приложений, которых на самом деле нет в магазин приложений (который членский центр не разрешил мне удалить), и, начав с нуля, мы снова в деле.   -  person matt    schedule 07.12.2014
comment
@matt - Да, у меня это тоже сработало. Я воссоздал свой сертификат разработчика, и теперь он работает. Хотелось бы, чтобы Apple сказала мне это. :( Спасибо за помощь. Майк   -  person Mike Taverne    schedule 08.12.2014
comment
@MikeTaverne Ты тоже мне очень помог. И Дэвид Бергер тоже. Надеюсь, мы тоже помогли ОП!   -  person matt    schedule 08.12.2014
comment
возможный дубликат dyld: библиотека не загружена: @ rpath / libswiftCore.dylib   -  person Shai    schedule 11.05.2015


Ответы (3)


Попробуйте создать новый сертификат распространения и новый профиль обеспечения. Возможно, это связано с этим. Я столкнулся с этой проблемой.

https://www.airsignapp.com/ios-apps-using-swift-crash-when-signed-with-inhouse-certificate/

По сути, Apple добавила новое поле к сертификату и не сообщила нам ничего внятного.

person David Berger    schedule 07.12.2014
comment
Если это проблема с сертификатом, то (1) почему Apple не сообщает об этом людям, если это решение? и (2) как вы объясните тот факт, что все мы можем нормально работать на устройстве, если приложение поддерживает только Objective-C? Это не проблема с сертификатом, это проблема платформы Swift. - person matt; 07.12.2014
comment
Вы делаете небольшое замечание по поводу семантического иссуса. Apple изменила свои сертификаты, никому не сказав. Apple разработала свои сертификаты и разработала структуру Swift таким образом, чтобы они были связаны. Процедура запуска Swfit на устройстве iOS ищет информацию, встроенную в сертификат. Если его нет, он вылетает. Для меня это проблема обоих. - person David Berger; 07.12.2014
comment
Это хороший аргумент ... Я снова работаю, и запуск с совершенно нового сертификата и профиля подготовки был одной из вещей, которые я делал на этом пути, поэтому я жду вашего ответа, даже если я не могу убедитесь, что post hoc был propter hoc. :) - person matt; 07.12.2014
comment
@DavidBerger - проголосуйте за это! В моем случае повторное создание сертификата разработчика устранило проблему. Когда я запустил свое приложение в Xcode после загрузки нового сертификата, он подсказал мне, что мой профиль подготовки не включает мой новый сертификат, и предложил исправить проблему. Я щелкнул по нему, и он сгенерировал новый профиль обеспечения, и я был готов к работе. Майк - person Mike Taverne; 08.12.2014
comment
Я проделал этот шаг несколько раз, и это не решило мою проблему. - person Eastern Monk; 30.03.2015

Вероятно, вам понадобится новый сертификат для подписи вашего приложения. Выдержка из технических часто задаваемых вопросов Apple.

Чтобы решить эту проблему, вам нужно будет подписать свое приложение, используя сертификаты подписи кода с Subject Organizational Unit (OU), установленным на ваш Team ID. Все корпоративные и стандартные сертификаты разработчиков iOS, которые создаются после выпуска iOS 8, имеют новое поле Team ID в нужном месте, позволяющее запускать языковые приложения Swift.

person Vijay V S    schedule 11.05.2015

У меня была такая же проблема после обновления XCode со "старым" Swift Project ...

Я решил это, создав новый проект с новым XCode и просто скопировав / вставив в него мои старые классы ... Если вы скопируете / вставите каждый класс / раскадровку в новый проект, он запустится

person Dennis Weidmann    schedule 03.12.2014