Используя новейшую версию cocoa pods (0.36), я могу вставлять cocoa pods, написанные быстрым (например, Alamofire) в мой быстрый проект. Теперь я ввел в проект собственную структуру, которая также хочет зависеть от Alamofire.
Что я сделал для этого, чтобы выбрать добавление фреймворков pods в мою структуру как зависимость:
Выберите Target для моей встроенной Swift Framework (Swift Module), а на вкладке "Общие" в "Связанные фреймворки и библиотеки" я добавил "Pods.framework" как "Обязательно".
Однако этого недостаточно для компиляции, поскольку классы в моей собственной быстрой структуре не могут "импортировать Alamofire", поскольку они не распознаются как "доступные рамки".
Добавление файлов Pods.debug.xcconfig и файла Pods.release.xcconfig в конфигурацию для моей собственной быстрой структуры, другими словами, изменение настроек сборки для всех изменений, которые cocoa pods делают для настройки сборки моей целевой задачи iOS, решает проблему.
Теперь он строит без проблем. Он также работает без проблем в симуляторе, и моя собственная встроенная среда swift успешно использует рамки, добавленные cocoa pods.
ОДНАКО, если я запустил то же самое на устройстве, он компилируется и устанавливается без проблем, но затем с ошибкой при запуске запускается:
dyld: Library not loaded: @rpath/Pods.framework/Pods
Referenced from: /private/var/mobile/Containers/Bundle/Application/32D2F1F8-679F-4A5F-8159-28F1C800D0C6/TestingFrameworks.app/Frameworks/mySwiftFramework.framework/mySwiftFramework
Reason: image not found
По-видимому, не все настройки из файла xcconfig cocoa pods xcconfig подходят для добавления в настройки сборки моей пользовательской быстрой структуры.
Но почему он работает в симуляторе? И что еще важнее, что такое настройка сборки, которую мне нужно исправить?
Мне кажется, мне нужно изменить этот параметр сборки:
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods
к чему-то еще...