Технология публичного распространения Cocoapod

#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