如何解决使用多个平台分发 xcframework 时,Pod 验证失败
我的 xcframework 包含多个具有不同名称的框架。
对于ios,框架名称是ProjectSwift.framework。 对于 tvos,它是 ProjectSwift_tvOS.framework。
在我的 podspec 文件中,我指定了 2 个部署目标,并将 xcframework 指定为 vendored_framework :
Pod::Spec.new do |s|
s.name = 'ProjectSwift'
...
s.vendored_frameworks = 'ProjectSwift.xcframework'
s.ios.deployment_target = '10.2'
s.tvos.deployment_target = '10.2'
s.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
s.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
end
当我尝试 pod lib lint 时,它在 tvos 上失败并显示错误: ld:未找到框架 ProjectSwift
如果我手动修改我的 tvos 框架的名称(从 ProjectSwift_tvOS 中删除 _tvOS),它会起作用。
ProjectSwift 和 ProjectSwift_tvOS 是我在 Xcode 上的方案名称,并在创建 xcodebuild 存档时指定
xcodebuild archive \
-scheme ProjectSwift_tvOS \
...
我不确定修改它的好地方在哪里。或者有一种方法可以在 podspec 中指定对于 tvOS,名称不是 ProjectSwift 而是 ProjectSwift_tvOS ?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。