2015-08-22 4 views
0

Я создал Cocoa Touch Framework, чтобы централизовать свой общий код Swift и переместил некоторые вещи в него - m, используя его в моем другом проекте Swift, в рабочей области. Сначала главный проект компилируется, но при запуске я получил эту ошибку:dyld: библиотека не загружена: @ rpath/libswiftCoreAudio.dylib Ссылка: <Framework> Причина: изображение не найдено

dyld: Library not loaded: @rpath/libswiftCoreAudio.dylib Referenced from: /Users/username/Library/Developer/Xcode/DerivedData/AppName-guvhnmqtcqhmmndemyhztmwxbkjq/Build/Products/Debug-iphonesimulator/JBS.framework/JBS Reason: image not found

Я обнаружил, что могу это исправить, включив опцию Embedded Содержание Содержит Swift код в рамках, но потом я получаю куча дублирующих символов в журнале, например, так:

objc[19237]: Class GGLBundleUtil is implemented in both /Users/username/Library/Developer/Xcode/DerivedData/AppName-guvhnmqtcqhmmndemyhztmwxbkjq/Build/Products/Debug-iphonesimulator/JBS.framework/JBS and /Users/username/Library/Developer/CoreSimulator/Devices/CCAD7FCA-BF5F-428A-8122-680B91300618/data/Containers/Bundle/Application/22DC1E4F-B631-450A-A157-A6ADA0126DE6/AppName.app/AppName. One of the two will be used. Which one is undefined.

Я не думаю, что я должен включить встраиваемое содержимое Содержит вариант Swift Code в рамках, но я не знаю, почему Framework не может найти библиотеки Swift. Кто угодно?

Edit:

Когда я пытаюсь запустить приложение на устройстве, я получаю такую ​​же, но другую ошибку. Похоже, что он жалуется, что он не видит мою структуру:

dyld: Library not loaded: @rpath/JBS.framework/JBS Referenced from: /private/var/mobile/Containers/Bundle/Application/C7644037-E5A0-431E-A7DB-D3B124CDC677/AppName.app/AppName Reason: image not found

+0

Решение [здесь] (http://stackoverflow.com/questions/27116371/dyld-library-not-loaded-reason-no-suitable-image-found/43466989#43466989). Та же тема – Tarik

ответ

0

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

Вместо этого я добавил его в раздел, в котором были другие связанные структуры и библиотеки, потому что там уже были некоторые другие. Как только я добавил его в раздел Embedded Binaries (который также добавил его обратно к Linked Frameworks и Libraries, когда я это сделал), он больше не дал мне основной ошибки, как видно в заголовке.

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

0

Вы проверили его на устройстве? Если это так, идентификатор пакета должен быть одинаковым между вашим проектом и вашим фреймворком.

+0

Поскольку вы спросили, я попробовал это на устройстве, и он ведет себя по-другому. Он отказывается работать даже при включенном встроенном контенте с включенным Swift Code, заявив, что тот же «dyld: Library not loaded:». Идентификатор пакета рамки отличается от проекта, но, насколько я могу судить, он должен быть таким, чтобы я мог загружать пучки четко по мере необходимости. –

+0

На самом деле, ошибка немного отличается от устройства. Это такая же ошибка, но она жалуется, что не может найти мою инфраструктуру, а не фреймворк, не найдя рамки Swift. –

 Смежные вопросы

  • Нет связанных вопросов^_^