Обработка поддонов в cocoa touch framework - получена ошибка на устройстве
Я проработал около 2-3 часов и пробовал несколько вещей, но я не могу заставить это работать:
Что мне нравится делать
Цель состоит в разделении кода пользовательского интерфейса и бизнес-логики. Бизнес-логика должна быть укоренена в отдельной структуре. Cocooa Touch Framework. Таким образом, бизнес-логика может быть повторно использована в приложении WatchKit, например.
Как я пытался это сделать
- Создайте новый проект Xcode → Выберите одноразовое приложение.
- Добавить новую цель → Выбрать Cocoa Touch Framework.
- Запустить pod init.
- Добавьте несколько подкадров в подфайл для каждой цели.
- Запустите программу установки.
- Внедрить некоторый код в пользовательском интерфейсе и Framework
Это отлично работает на симуляторе. Как только я запустил его на устройстве, в отладчике появится следующая ошибка:
dyld: библиотека не загружена: @rpath/SwiftAddressBook.framework/SwiftAddressBook Ссылка из:/private/var/mobile/Containers/Bundle/Application/48E58889-78D4-4D71-B8DA-154ADEB98894/Pod Ошибка Framework.app/Frameworks/PodErrorKit.framework/PodErrorKit Причина: изображение не найдено
Я не знаю, как это решить. Какие-либо предложения?
Я использую:
- cocoapods 0.38.2
- Xcode 6.4 (6E35b)
- Цель развертывания iOS 8
Я загрузил проект (только поддельный проект, но ту же ошибку) в github. Вы можете просмотреть его здесь.
Ответы
Ответ 1
Исправление находится здесь https://github.com/keithyipkw/pod-cocoa-touch-framework
SwiftAddressBook.framework является динамическим, поэтому вам нужно встроить его в свое приложение, как и PodErrorKit. Подробности в моей фиксации. Симуляторы обманывают, так или иначе, возможность находить фреймворки вне приложения (рядом с ним в производных данных).
Я не смог скомпилировать ваш проект из-за отсутствия Pods.framework. Я не смог найти цель, поэтому я удалил ее.