如何使用 SPM 在私人仓库中托管的 .zip 格式使用二进制或 xcFramework

How to use binary or xcFramework in .zip format hosted in private repo using SPM

我想通过 SPM 使用 GoogleMaps SDK,所以我遵循了这个 url https://github.com/YAtechnologies/GoogleMaps-SP

以下是我执行的步骤

第 1 步: 将所有 5 个 xcFrameworks 上传到 nexus。 例如:https://xxx/google/google-maps/5.0.0/google-map.zip

第 2 步: 使用以上所有 xcFramework zip urls 创建了一个 package.swift 文件并上传到 gitLab。 所以它与 https://github.com/YAtechnologies/GoogleMaps-SP/blob/main/Package.swift 相同。只有 zip urls 会被我们的 nexus url.

取代

第 3 步: 成功能够添加 Xcode。文件 > Swift 包 > 添加包依赖项

成功能够 运行 after‖File > Swift Packages > Reset Packages Cache.

问题:但问题是每当我 运行 pod 安装或更改分支时,我都会遇到以下错误

临时解决方案是通过 xcode 中的“文件 > Swift 包 > 重置包”重置包内容。

那么什么是永久解决方案,因为如果我直接使用 public https://github.com/YAtechnologies/GoogleMaps-SP.git as 依赖项,那么我就不会面临一次又一次重置包内容的问题。可能是我正在使用私有 xcFramework zip urls 或 repo,这就是我收到此错误的原因。所以任何人都知道是什么。可能是解决方案。

可能是 SPM 有问题 https://github.com/firebase/firebase-ios-sdk/issues/7363

此问题已在 Xcode 13 和 swift 5.0 或 >5.0 中解决。