Динамическая структура, цель c и быстрые зависимости Ошибка библиотеки DFU при запуске podspec
У меня была.framework, сделанная в цели c, я использовал cocoapods, чтобы сделать частный репозиторий, все работало хорошо.
Но теперь... Мне пришлось добавить функциональность обновления режима DFU к моей.framework, для этого я использовал библиотеку, которая появляется здесь [ https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library/blob/master/README_OBJC.md][1]
Чтобы иметь возможность использовать эту библиотеку с какао, я должен был передать свой проект в рабочее пространство с помощью установки cocoapod и поместить зависимости в мой целевой код c.
#import <iOSDFULibrary/iOSDFULibrary-Swift.h>
@import iOSDFULibrary;
Мой код компилируется и, кажется, все хорошо. Но когда я запускаю pod spec lint, я получаю следующие ошибки:
PruebaFramework $pod spec lint DSFramework.podspec --allow-warnings --use-libraries --verbose
DSFramework (1.99.999) - Analyzing on iOS 8.0 platform.
Preparing
Analyzing dependencies
Inspecting targets to integrate
Using `ARCHS` setting to build architectures of target `Pods-App`: (``)
Fetching external sources
-> Fetching podspec for `DSFramework` from `/Applications/Programacion/PruebaFramework/DSFramework.podspec`
Resolving dependencies of
Comparing resolved specification to the sandbox manifest
A DSFramework
A Zip
A iOSDFULibrary
Downloading dependencies
-> Installing DSFramework (1.99.999)
> Copying DSFramework from
`/Users/administrador/Library/Caches/CocoaPods/Pods/External/DSFramework/035395061a29836d834f6bc0d067a91f-f3310`
to `../../../../private/var/folders/lf/5hd49f8s24bd0k38_x5sgzt00000gp/T/CocoaPods/Lint/Pods/DSFramework`
-> Installing Zip (0.7.0)
> Copying Zip from `/Users/administrador/Library/Caches/CocoaPods/Pods/Release/Zip/0.7.0-e3451` to
`../../../../private/var/folders/lf/5hd49f8s24bd0k38_x5sgzt00000gp/T/CocoaPods/Lint/Pods/Zip`
-> Installing iOSDFULibrary (3.0.6)
> Copying iOSDFULibrary from
`/Users/administrador/Library/Caches/CocoaPods/Pods/Release/iOSDFULibrary/3.0.6-e9f78` to
`../../../../private/var/folders/lf/5hd49f8s24bd0k38_x5sgzt00000gp/T/CocoaPods/Lint/Pods/iOSDFULibrary`
- Running pre install hooks
-> DSFramework (1.99.999)
- WARN | description: The description is shorter than the summary.
- WARN | url: There was a problem validating the URL https:xxxxxxxxx
**- ERROR | [iOS] unknown: Encountered an unknown error (Pods written in Swift can only be integrated as frameworks; add `use_frameworks!` to your Podfile or target to opt into using it. The Swift Pods being used are: Zip and iOSDFULibrary**
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/installer.rb:450:in `block (2 levels) in verify_framework_usage'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/installer.rb:445:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/installer.rb:445:in `block in verify_framework_usage'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/installer.rb:442:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/installer.rb:442:in `verify_framework_usage'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/validator.rb:486:in `block in install_pod'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/validator.rb:486:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/validator.rb:486:in `install_pod'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/validator.rb:306:in `block in perform_extensive_analysis'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/validator.rb:298:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/validator.rb:298:in `perform_extensive_analysis'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/validator.rb:79:in `validate'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/command/spec/lint.rb:67:in `block in run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/command/spec/lint.rb:55:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/command/spec/lint.rb:55:in `run'
/Library/Ruby/Gems/2.0.0/gems/claide-1.0.1/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
) during validation.
Analyzed 1 podspec.
**[!] The spec did not pass validation, due to 1 error.
[!] The validator for Swift projects uses Swift 3.0 by default, if you are using a different version of swift you can use a `.swift-version` file to set the version for your Pod. For example to use Swift 2.3, run:
`echo "2.3" > .swift-version`.**
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/command/spec/lint.rb:84:in `run'
/Library/Ruby/Gems/2.0.0/gems/claide-1.0.1/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
Я вижу 2 ошибки...
ОШИБКА | [iOS] unknown: Обнаружена неизвестная ошибка (модули, написанные на Swift, могут быть интегрированы только в качестве фреймворков; добавьте use_frameworks! в ваш Podfile или цель, чтобы выбрать его использование. Используемые модули Swift: Zip и iOSDFULibrary
[!] Спецификация не прошла проверку из-за 1 ошибки. [!] Валидатор для проектов Swift по умолчанию использует Swift 3.0, если вы используете другую версию swift, вы можете использовать файл.swift-version, чтобы установить версию для вашего Pod. Например, чтобы использовать Swift 2.3, запустите: echo "2.3" > .swift-version.
Мой подеспец
Pod::Spec.new do |s|
s.name = 'MyFramework'
s.version = '1.99.999'
s.summary = ''
s.description ='Framework'
s.homepage = 'https://xxxxxxxxxxxxxxxx'
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'xxx' => 'xxxxxx@gmail.com' }
s.source = { :git => 'xxxxxxxxxxxxx', :tag =>s.version.to_s }
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
s.ios.deployment_target = '8.0'
#s.source_files = 'Library/Classes/**/*'
s.source_files = "MyFramework/*.{h,m}",'MyFramework/MyFrameworkIBeaconBLE.framework/Headers/*.h'
# s.resource_bundles = {
# 'Library' => ['Library/Assets/*.png']
# }
s.public_header_files = 'MyFramework/MyFrameworkIBeaconBLE.framework/Headers/*.h'
#s.framework = ''
s.ios.vendored_framework= 'MyFramework/MyFrameworkIBeaconBLE.framework'
s.dependency 'iOSDFULibrary'
end
Моя версия стручка
pod --version
1.2.1