在 React Native 库中使用本地 .xcframework 的 Podspec 文件应该是什么?

What should be the Podspec file for using local .xcframework in React Native library?

我创建了一个 React Native 库,它是在 React Native 项目中使用原生 iOS 框架的包装器。早些时候我使用 .framework 并且它工作正常。现在我在使用这个库时遇到一个问题 .xcframework 而不是 .framework.

我将此库添加为项目的依赖项,然后在 运行ning pod install 上出现以下错误:

[!] [Xcodeproj] 生成了重复的 UUID:

当我打开项目并尝试构建它时,它在设备上成功构建但在模拟器上失败。

下面是我在库项目中使用的 Podspec 文件:

Pod::Spec.new do |s|
  s.name         = "react-native-myLibrary"
  s.version      = "1.0.0"
  s.summary      = "react-native-myLibrary"
  s.description  = <<-DESC
                    react-native-myLibrary
                   DESC
  
  s.homepage     = "https://github.com/geektimecoil/react-native-onesignal"
  s.license      = "MIT"
  s.author       = { "author" => "author@domain.cn" }
  s.platform     = :ios, "10.0"
  s.source       = { :http => 'file:' + __dir__ + '/' }

  s.source_files = "**/*.{h,m,swift}"
  s.requires_arc = true
  s.vendored_frameworks = 'MyLibrary.xcframework'

  s.dependency "React"
end

在搜索解决方案时,我发现这个错误是由 s.source_files = "**/*.{h,m,swift}" 引起的。所以,我再次评论了这一行 & 运行 pod install 。错误消失了,但没有依赖项被添加到项目目标。任何人都可以向我提供 Podspec 文件以用于 React Native Library 中的本地 .xcframework 。提前致谢!

试试这个:

s.preserve_paths =  'MyFraemwork.xcframework/*'
s.source_files = 'MyFraemwork.xcframework/ios-arm64_armv7/PicUPSDKv3.framework/Headers/*.{h,m,swift}'

我能够使用以下方法解决此问题:

s.source_files = "ios/*.{h,m,swift}"
s.vendored_frameworks = 'ios/Frameworks/MyLibrary.xcframework'

& 还通过将构建设置中的框架搜索路径更新为 $(inherited).