2016-01-24 4 views
3

Я делясь с областью между содержанием приложения и расширением (пользовательская клавиатура), и он работает нормально на симуляторе, но когда я пытаюсь запустить это приложение на реальном устройстве, у меня есть следующее ошибка:Совместное использование между добавлением приложения и расширением

Cannot load underlying module for 'RealmSwift'

Это странно, что это не проблема с симулятором, но все в порядке. Давайте добавим pods.framework в Ссылка Binary с библиотеками для моего расширения.

.../Pods/Bolts/Bolts/Common/BFCancellationTokenRegistration.h:19:1: Duplicate interface definition for class 'BFCancellationTokenRegistration'

ОК. Удалим его.

Cannot load underlying module for 'RealmSwift'

Не могу утверждать, что. Попробуем добавить RealmSwift.framework к расширению.

.../Pods/Bolts/Bolts/Common/BFCancellationTokenRegistration.h:19:1: Duplicate interface definition for class 'BFCancellationTokenRegistration'

ОК. После нескольких итераций есть несколько Pods.framework в моей папке проекта и RealmSwift.framework тоже. Давайте удалим их всех, кроме одного Pods.framework. Давайте изменим целевое членство для этой структуры на приложение и расширение.

.../Pods/Bolts/Bolts/Common/BFCancellationTokenRegistration.h:19:1: Duplicate interface definition for class 'BFCancellationTokenRegistration'

и

Cannot load underlying module for 'RealmSwift'

вместе.

Как это можно исправить?

Обновление: Я использую королевские и парсы cocoapods.

ответ

0

Это должно быть просто создание второго раздела в вашем Podfile, чтобы вы могли указать зависимости для расширения вашего приложения, а также вашего основного приложения.

target 'MyApp' do 
    pod 'RealmSwift' 
end 

target 'MyAppExtension' do 
    pod 'RealmSwift' 
end 

CocoaPods делает много дополнительных шагов в настройке зависимостей и установить их в вашу цель во время компиляции, так что я не думаю, просто скопировав Pods.framework к расширениям строить шаги будут работать.

Если у вас есть несколько ссылок на те же файлы, плавающие вокруг, то может быть хорошей идеей полностью удалить каждый файл/папку, связанный с CocoaPods, из вашего проекта и снова запустить pod install, чтобы убедиться, что все настроено снова правильно.

Дайте мне знать, как вы идете!

+0

спасибо. Я пытался это сделать, но произошла еще одна ошибка, поэтому я закончил создание нового проекта с нуля и миграцию исходного кода. – lithium

+0

Привет @lithium, не могли бы вы решить проблему? У меня такая же проблема –

+0

Да, я создал новый проект с нуля, и после этого все было в порядке. Не решение, которое я хочу порекомендовать, но это сработало для меня. – lithium