#ios #swift #git #cocoapods #podspec
Вопрос:
Я очень новичок в разработке iOS, и у меня есть несколько запросов, по которым я надеюсь получить некоторую помощь.
Я создал платформу iOS, загрузил кодовую базу в частный репозиторий git и выпустил тег. Теперь я создал еще один частный репозиторий git, в котором я храню соответствующий подспец. Источник, определенный в этом подспеце, является ссылкой для репозитория git платформы iOS.
Интеграторы не имеют доступа и не должны напрямую взаимодействовать с cocoapod. Предполагается, что они должны взаимодействовать только с SDK. SDK действительно имеет доступ к cocoapod и использует имя пользователя/пароль для доступа к частному cocoapod. Я хочу, чтобы эта платформа iOS была публично распространена среди интеграторов в виде SDK, не делая ни одно из моих репозиториев git (и основную кодовую базу) общедоступным. Вид следующей структуры: [Интеграторы] -> [SDK] ->> [cocoapod]
Как я могу этого достичь?
Заранее спасибо.
Комментарии:
1. в основном вы спрашиваете, как сделать cocoapod общедоступным, не делая его общедоступным — это оксюморон. Вам нужно сделать podspec и cocoapod общедоступными, чтобы они были общедоступными. Конечно, вы можете сделать это не в оригинальных репозиториях, а скопировав их в некоторые другие публичные репозитории
2. @КирилЗ. Моя интерпретация того, что он пытается сказать, отличается. Он сказал, что у него есть платформа iOS. Я полагаю, что он пытается сказать, что платформа iOS ссылается на частный cocoapod. Предположим, что cocoapod-это еще одна внутренняя структура, например, общая структура. А затем он хочет распространить фреймворк среди интеграторов и хочет знать, возможна ли такая настройка. В общем, он должен использовать другой язык. Давайте назовем распределенный код SDK, и SDK ссылается на фреймворк, который был превращен в cocoapod. [Интеграторы] -> [SDK] ->> [cocoapod]
3. @КирилЗ. Извините за неправильную формулировку моего вопроса. Сценарий, о котором упомянул portfoliobuilder, верен. Теперь я отредактировал свой вопрос.
Ответ №1:
Вы можете распространять скомпилированный фреймворк через Cocoapods. Это позволит вам предотвратить утечку исходного кода в интегратор. А также предотвратите компиляцию вашей платформы при каждой чистой сборке приложения интегратора.
Распространяя скомпилированный код, мы: —Сохраняем наш код в секрете —Экономим время в процессе компиляции приложения
Выполните следующие команды:
cd ~
curl -o MyFramework.zip -L
https://www.dropbox.com/s/5vykpag4xb5vh51/MyFramework.zip -s
unzip -q MyFramework.zip
Приведенная выше команда извлекает проект фреймворка. Самая простая форма компиляции фреймворка Swift-это пользовательский интерфейс Xcode.
open -a Xcode ~/MyFramework/MyFramework.xcodeproj
Выберите Универсальное устройство iOS из списка устройств. Наконец, создайте фреймворк, выбрав в меню Продукт > Сборка.
После завершения процесса сборки вы найдете встроенный фреймворк в Products
папке.
Чтобы узнать больше об этом процессе, вы можете ознакомиться с этим учебным пособием онлайн.
Ссылка — https://medium.com/onfido-tech/distributing-compiled-swift-frameworks-via-cocoapods-8cb67a584d57