2016-12-16 3 views
0

функции: Xcode 8.2, CocoaPods 1.1.1, OSX 10.12.2зависимости от подпроекта причины dyld: Библиотека не загружается ошибка

Я разделил свой проект в 2-х проектов. Один содержит мои провайдеры (вызовы api, доступ к базе данных и т. Д.), А другой - пользовательский интерфейс.

Проект пользовательского интерфейса зависит от проекта провайдеров. Моя конфигурация работает с симулятором, но не с устройством.

На устройстве, я получаю:

dyld: Библиотека не загружается: @ RPATH/Alamofire.framework/Alamofire
Реферировано от: /частных/вара/контейнеров/Bundle/Application/EAD65532-DD02 -4DA6-9877-7937F9D69F26/xxxxx.app/Frameworks/Providers.framework/Провайдеры Причина: изображение не найдено

Это мой podfile:

use_frameworks! 

workspace 'xxxxx.xcworkspace' 

project 'xxxxx.xcodeproj' 
project 'Providers/Providers.xcodeproj' 


def shared 
    pod 'QorumLogs' 
    pod 'Reachability', '~> 3.2' 
    pod 'RealmSwift' 
end 

target 'Providers' do 
    project 'Providers/Providers.xcodeproj' 
    pod 'Alamofire', '~> 4.0' 
    pod 'Valet' 
    pod 'Starscream' 
    pod 'ChameleonFramework/Swift', :git => 'https://github.com/ViccAlexander/Chameleon.git' 
    shared 
end 

target 'xxxxx' do 
    project 'xxxxx.xcodeproj' 
    platform :ios, '8.0' 
    pod 'SwiftValidator', :git => 'https://github.com/i-schuetz/SwiftValidator.git', :branch => 'remove_delegate_callback' 
    pod 'SwiftCharts', :git => 'https://github.com/i-schuetz/SwiftCharts.git' 
    pod 'Google/SignIn' 
    pod 'SwipeView', '~> 1.3.2' 
    pod 'CMPopTipView', '~> 2.0' 
    pod 'KLCPopup', '~> 1.0' 
    pod 'ChameleonFramework/Swift', :git => 'https://github.com/ViccAlexander/Chameleon.git' 
    pod 'HockeySDK' 
    shared 
end 

Я также добавил двоичные Провайдер к моей цели пользовательского интерфейса под «Embedded» двоичных файлов

кажется проект UI не может загрузить зависимости проекта провайдеров. Не знаю, имеет ли это смысл, но я также попытался вложить конфигурацию моего проекта пользовательского интерфейса в Провайдеры, в подклик и добавить inherit! :search_paths к нему, но он также не помог.

Работает только тогда, когда я использую те же зависимости в обоих проектах.

Идеи?

Редактировать

Я также получаю это предупреждение при выполнении pod install, не знаю, если это связано: [!]

Podfile содержит рамочные цели, для которых Podfile делает не содержит хост цели (цели, которые внедряют рамки). Если этот проект предназначен для разработки рамок, вы можете проигнорировать это сообщение . В противном случае добавьте цель в подфайл, который вставляет эти рамки , чтобы это сообщение исчезло (например, тестовая цель).

ответ

0

При обновлении проекта Swift 2.2 с использованием сторонней структуры AlamoFire я столкнулся с несколькими проблемами, такими как ваши, включая страшный dyld: библиотека не загружена ...... изображение не найдено. Проведя несколько часов, читая о различных объяснениях проблемы, пытаясь разобраться в себе и выполняя многие из предложенных исправлений, я зашел в тупик. Некоторые из решений работали на симуляторе, а не на iPhone, который дал мне (ложную) поддержку продолжать пытаться решить проблему.

Я в конце концов пришел к выводу, что начинать с чистого листа может быть лучшей стратегией. Я уже показал, что новый проект Swift 3 без проблем может использовать AlamoFire 4.0 и другие сторонние структуры, такие как ReactiveSwift (через cocoapds). Я думаю, что это может быть общая стратегия, которая позволяет избежать трудностей отслеживания проблем сборки, сборки или проблем с расположением файлов.

Итак, вот оно.Это очень просто. Создайте новый проект. Установите AlamoFire и все другие фреймворки с помощью cocoapods и проверьте его, чтобы убедиться, что он работает. В этот момент удалите файлы, которые вы будете заменять, такие как ViewController.swift и Main.Storyboard, а затем перетащите все файлы из старого проекта. Я превратился в быстрый 3, прежде чем я сделал это, чтобы сделать вещи еще проще. Я перестроил проект, и он работал в первый раз! Даже ссылки на раскадровку были сохранены, как магия. 1h работы (если это) вместо нескольких! Надеюсь, это сработает и для вас!

+0

Хм. Но каркасы работают, проблема только в моей конкретной конфигурации. По крайней мере, мне хотелось бы понять, как «основной» проект должен разрешать зависимости другого проекта с контейнерами. Я подумал о том, чтобы воссоздать проект, но он довольно большой, и это будет очень много. Я сейчас дам дубликаты зависимостей, он работает и, похоже, не вызывает особых проблем. – Ixx

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