Vendored framework с ошибкой связывания зависимостей cocoapods - PullRequest
0 голосов
/ 04 мая 2020

Мне нужно отправить скомпилированный фреймворк - назовем его 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?), Но я действительно не знаю, как это исправить.

...