Стручки в структуре, импортируйте эту структуру для основного проекта в быстром

Идея состоит в том, чтобы иметь API-интерфейс (новый проект -> Cocoa Touch Framework), например, "SuperApi". SuperApi использует такие модули, как Alamofire, ObjectMapper и все, что мне нужно.

Далее я хочу интегрировать этот SuperApi в свое приложение, как обычную платформу.

Я пробовал разные способы. Я пытался добавить его в "Embedded Binaries" и / или пытался добавить superApi в "Linked Frameworks and Libraries". Безуспешно. Я всегда связывал всю структуру-папку.

import SuperApi бросил всегда ошибку: не смог найти фреймворк

Затем я прочитал кое-что о рабочих пространствах, где у меня может быть много проектов параллельно. Это кажется действительно сильным для API.

Создать фреймворк без pods (xcodeproj) не проблема. В сети много описаний. Но что является (хорошим) решением для моей проблемы? Я не хочу писать свой собственный http-network + JSON-парсер. Спасибо за вклад.

2 ответа

Почему бы вам не добавить свой SuperApi в качестве модуля вашего основного проекта? Вы можете использовать его как локальный модуль, напрямую связывая последний коммит, или используя собственный репо.

Рэй Вендерлих предлагает очень хороший урок: https://www.raywenderlich.com/99386/create-cocoapod-swift

Спасибо, Элай. Я нашел это видео, оно более свежее, https://www.youtube.com/watch?v=gNMNeqXKnzw&t=964s (спасибо вам, господин Леви Бостиан, вы сделали мой день)

К сожалению, это видео тоже немного устарело.

Вы столкнулись с проблемой Swift 2/3. Таким образом, вы должны создать .swift-version в твоем мерзости Например, Alamofire сделал это так: https://github.com/Alamofire/Alamofire/blob/master/.swift-version

Вы можете сделать это так в вашей папке pod: echo 3.0 > .swift-version

Я столкнулся со вторым выпуском, потому что мой стручок не был в курсе. Так что обновите свой стручок sudo gem install cocoapods --pre

И последнее, но не менее важное: в моем подспециале было предупреждение, поэтому я должен использовать pod spec lint --allow warnings

Лучше исправить это предупреждение;)

Другие вопросы по тегам