Я создал фреймворк с использованием Xcode 6 и Swift, и моя фреймворк использует SwiftyJSON в качестве зависимости, добавленную через Карфаген. Я заархивировал свой фреймворк и создал сборку как для симулятора, так и для устройств iOS, используя lipo
, и при попытке использовать мой фреймворк в пустом приложении я получаю сбой во время выполнения:
dyld: Library not loaded: @rpath/SwiftyJSON.framework/SwiftyJSON
Referenced from: /Users/hd/Library/Developer/CoreSimulator/Devices/324FD1CD-4A06-459B-AE6D-318197B5697E/data/Containers/Bundle/Application/555871BB-7AA1-4AED-90CE-EE0A628A794F/CollaborativeTodo.app/Frameworks/XXXXX.framework/XXXXX
Reason: no suitable image found. Did find:
/Users/hd/Library/Developer/CoreSimulator/Devices/324FD1CD-4A06-459B-AE6D-318197B5697E/data/Containers/Bundle/Application/555871BB-7AA1-4AED-90CE-EE0A628A794F/CollaborativeTodo.app/Frameworks/SwiftyJSON.framework/SwiftyJSON: no matching architecture in universal wrapper
Вот как выглядит мое древообразование - имя моего фреймворка намеренно размыто:
Вкладка Общие:
Этапы сборки:
Это сработает, если я включу SwiftyJSON с использованием Carthage в свой проект, но я не хочу, чтобы пользователя заставляли включать сторонние библиотеки. Как встроить SwiftyJSON в мою структуру и указать Xcode использовать встроенную версию во время выполнения вместо того, чтобы пытаться найти структуру в проекте?