Ответ 1
Ничего не нужно копировать. Просто добавьте необходимые файлы для компиляции источников для вашего расширения:
Общий класс между приложением iOS и добавлением приложения
Я хочу использовать пользовательский класс как в моем приложении, так и в приложении расширения. Если у меня просто есть класс в основной папке приложения, расширение не забирает его. Я попытался сделать его копию и поместить в папку расширения, но я, конечно, получаю ошибку invalid redeclaration of [my class]
. Какое лучшее решение для этого? Это всего лишь один класс, а не несколько ресурсов.
Ничего не нужно копировать. Просто добавьте необходимые файлы для компиляции источников для вашего расширения:
Просто убедитесь, что файлы, которые вы хотите разделить, получают галочку в членстве целевого раздела.
Выберите файл, откройте правую панель Утилиты, расположенную с правой стороны, и отметьте.
Встроенные фреймворки - отличный способ повторного использования кода между вашим приложением и вашим расширением. Перемещение некоторых из кода во встроенные фреймворки предоставит нам отличную возможность написать некоторые модульные тесты вокруг него.
См. раздел Использование встроенной структуры для совместного использования кода https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW1