Мне нужно отправить скомпилированный фреймворк - назовем его Ab c .framework с cocoapods.
Эта структура имеет некоторые зависимости - давайте предположим, что мне нужны Nomosi и KeychainSwift .
Подфайл:
platform :ios, '10.0'
use_frameworks!
target 'Abc' do
pod "Nomosi", "0.1.2"
pod "KeychainSwift", "18.0"
end
I Я могу построить толстый каркас, используя скрипт , как это .
Podspe c:
Pod::Spec.new do |s|
s.name = 'Abc'
s.version = '0.0.1'
s.summary = 'Abc description.'
s.description = 'Abc looong description.'
s.homepage = 'https://test.com'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'Author' => 'me@test-email.com' }
s.source = { :git => 'https://github.com/test/this-is-not-a-repo.git', :tag => s.version.to_s }
s.ios.deployment_target = '10.0'
s.public_header_files = "Build/Abc.framework/Headers/*.h"
s.source_files = "Build/Abc.framework/Headers/*.h"
s.vendored_frameworks = 'Build/Abc.framework'
s.dependency 'KeychainSwift', '18.0'
s.dependency 'Nomosi', '0.1.2'
end
Теперь, если я создаю демонстрационный проект с использованием локального под его компиляцией, но есть среда выполнения cra sh:
dyld: Symbol not found: _$s6Nomosi15ServiceResponseP5parse4dataxSg10Foundation4DataV_tKFZTq
Referenced from: /Users/mario/Library/Developer/CoreSimulator/Devices/DFF39FE4-F274-4E4E-9710-AB24B043CFB0/data/Containers/Bundle/Application/A9C811DE-19D6-4535-996B-B5F2D142D691/AbcDemo.app/Frameworks/Abc.framework/Abc
Если podspe c указывает на фактический исходный код (вместо доставки скомпилированной толстой среды), приложение не создает sh.
Это, вероятно, связано с некоторой ошибкой компоновки в фреймворке (@rpath?), Но я действительно не знаю, как это исправить.