Создать ios framework с частным исходным кодом

Я хочу создать фреймворк Objective-C. Я генерирую podspec, тестирую с помощью push-транка «lib lint». Часть моего podspec: s.source_files = 'MyFramework/*.{h,m}'

s.public_header_files = 'MyFramework/*.h'

s.private_header_files = 'MyFramework/Private.h'

Но ведь я видел, что все мои файлы общедоступны.

введите здесь описание изображения

Помогите мне, smbd, как я могу скрыть файлы .m?


person Мария Тимофеева    schedule 23.05.2017    source источник
comment
Возможный дубликат Lint Fail для Cocoapods   -  person Alex Shubin    schedule 23.05.2017


Ответы (3)


Ваш XCode, вероятно, работает на Swift 3.1. просто запустите в своей папке pod:

echo "3.1" > .swift-version

Или замените его другой версией swift, например, если вы используете 2.3.

Он создаст файл версии .swift, после чего вы сможете снова запустить команду pod lib lint или trunk push.

person Alex Shubin    schedule 23.05.2017

Я нашел способ решения. Я делаю архив своих фреймворков и добавляю его в папку проекта. Позже в podspec я написал s.vendored_frameworks = archive (необходимо указать полный путь). Также в s.source_files я прописал свои заголовки.

 s.source_files = 'MyFramework/Classes/*.{h}'
 s.vendored_frameworks = 'Frameworks/MyFramework.framework'
person Мария Тимофеева    schedule 10.08.2017

просто перейдите по этой ссылке, и когда она предложит выполнить команду ниже

pod trunk push xyz.podspec

вместо этого следуйте этому

pod trunk push xyz.podspec --allow-warnings

Надеюсь, что это поможет вам.

person Zღk    schedule 23.05.2017
comment
Пожалуйста, используйте ссылку edit, чтобы объяснить, как работает этот код, и не просто давайте код, поскольку объяснение более вероятно. в помощь будущим читателям. См. также Как ответить. источник - person Jed Fox; 24.05.2017