我在私有 GitHub 存储库上发布了一个 iOS SDK 库。我尝试将其发布到CocoaPods,以便其他应用程序可以使用它。但是,在创建 podspec 文件、标记应用程序、运行 pod lib lint,并最终使用命令 pod lib lint 成功验证后,我遇到了命令 pod trunk push ****lient.podspec 的错误。
注意| URL:URL (https://github.com/*****-ios-natif) 无法访问。错误:CocoaPods Trunk 无法访问您的 Pod 源代码。它是私人存储库还是在 http 上的用户名/密码后面?
该库是用 Swift 编写的,并使用 Swift Package Manager 生成。我注意到其他具有私有 GitHub 存储库的应用程序已成功在 CocoaPods 上发布其 SDK。例如,在此应用程序中:https://github.com/Kameleoon/client-swift,GitHub 上看不到源代码,但我们可以简单地包含该库,如下所示:pod 'kameleoonClient'。
我需要生成存档并将其发布到 CocoaPods 吗?有教程解释这个过程吗?
任何帮助将不胜感激。谢谢你。
我在这里发布我的解决方案也许对其他人有帮助 为了让它发挥作用,我改变了很多东西 我的库位于 swift 包管理器上,我创建一个新的项目库并将所有代码粘贴到其中 之后我创建了一个用于 iphone 的 xcarchive 和另一个用于模拟器的 xcarchive,然后我将它们组合起来创建 xcframework
为模拟器创建xcarchive
xcodebuild archive \
-scheme BClient \
-archivePath "archives/BClient-iOS-simulator.xcarchive" \
-destination "generic/platform=iOS Simulator" \
-sdk iphonesimulator \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
为设备创建xcarchive
xcodebuild archive \
-scheme BClient \
-archivePath "archives/BClient-iOS.xcarchive" \
-destination "generic/platform=iOS" \
-sdk iphoneos \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
我将它们组合起来得到xcframework框架
xcodebuild -create-xcframework \
-framework "archives/BClient-iOS.xcarchive/Products/Library/Frameworks/BClient.framework" \
-framework "archives/BClient-iOS-simulator.xcarchive/Products/Library/Frameworks/BClient.framework" \
-output "BClient.xcframework"
之后,我压缩 BClient.xcframework 以获得 BClient.zip 我将其发布到公共存储库以获取如下网址:https://github.com/******example/raw/main/BClient.zip
对于 BClient.podspec :
Pod::Spec.new do |spec|
spec.name = "BClient"
spec.version = "0.0.6"
spec.summary = "B Client iOS"
spec.description = "B Client for iOS"
spec.homepage = "example.com"
spec.license = { :type => "MIT", :file => "LICENSE" }
spec.author = { "B O" => "[email protected]" }
spec.platform = :ios, "15.2"
spec.swift_version = '5.9'
spec.source = { :http => 'https://github.com/******example/raw/main/BClient.zip' }
spec.ios.vendored_frameworks = 'BClient.xcframework'
end
配置完成后,命令成功通过:
pod 主干推送 BClient.podspec --verbose --allow-warnings --use-libraries