Я хотел бы создать динамическую структуру и распространить ее. Он должен работать при работе на симуляторе, устройстве iPhone и иметь возможность отправлять в App Store.
Я знаю lipo
благодаря этому guide. Он показывает, как мы можем объединить архитектуры симулятора с архитектурой iphone в единую динамическую структуру, которая может быть распределена без распространения исходного кода. Это позволяет мне использовать структуру как для симулятора, так и для устройства iPhone. Однако он не работает, когда я пытаюсь отправить его в App Store из-за сборки симулятора.
Карфаген предоставляет интересное решение. Он создает структуру, которая работает как для симулятора, так и для iPhone. Но когда пришло время отправить его в App Store, нам нужно запустить script, чтобы вырезать фрагменты симулятора.
Однако создатели DoubleClick for Publishers (DFP) нашли способ создать структура, которая работает как на симуляторе, так и на устройстве; Пропускает представление в App Store; И не требует никаких script для вырезания ломтиков симулятора (AFAIK). Все, что мне действительно нужно сделать, это перетащить файл GoogleMobileAds.framework
в Linked Frameworks and Libraries
. Немного удивительно, что мне не нужно добавлять его в Embedded Binaries
, как большинство динамических фреймворков)
Я создал образец проекта, который использует DFP, который демонстрирует это.
// clone repository
git clone --recursive https://github.com/wh1pch81n/DoubleClickGoogleExample.git
// Move to correct branch
git submodule foreach 'git checkout master'
git submodule foreach 'git pull origin master'
Теперь вы можете выбрать схему Simulation_mate и запустить приложение. Приложение покажет единый рекламный баннер внизу, чтобы показать, что объявление действительно работает.
График зависимости выглядит следующим образом.
Simulation_mate.app
-> Mate.framework
-> DFP.framework
-> GoogleMobileAds.framework
Опять же, я могу запустить Simulation_mate на симуляторе, iPhone и отправить его в App Store.
Мой вопрос в том, как в мире они создали GoogleMobileAds.framework, как это? Какие шаги необходимо предпринять для создания такой структуры?