我正在尝试使用 Carthage 安装 Mastercard gateway iOS SDK。
Success case
我使用Xcode 14.2创建了一个新项目,我的命令行工具也设置为14.2,然后我使用终端安装SDKcarthage update --use-xcframeworks
它通过创建Carthage/Build
文件夹可以正常工作。一切都好Failure
当我使用 Xcode 14.3 或更高版本尝试相同的操作(还将命令行工具设置为 14.3 或更高版本)时,carthage update --use-xcframeworks
失败并给我日志文件的路径。此日志文件提到 iOS 部署目标“IPHONEOS_DEPLOYMENT_TARGET”设置为 8.0,但支持的部署目标版本范围为 11.0 至 16.4.99。 (在项目“MPGSDK”的目标“MPGSDK-iOS”中)我知道如何通过在 pod 文件或 Xcode 中将 SDK 目标设置为更高版本来解决 CocoaPods 的此问题。但我需要迦太基的这个解决方案。
最后我通过以下步骤弄清楚了:
从 MPGSDK GitHub 下载代码。打开终端,“cd”到该项目文件夹内。运行以下命令在桌面上为模拟器和设备创建框架,然后将它们组合起来。 (在运行命令之前,使用 Xcode 打开项目并根据需要设置最小目标和其他设置)
xcodebuild archive \ -scheme MPGSDK-iOS \ -archivePath ~/Desktop/ios-arm64_i386_x86_64-simulator.xcarchive \ -sdk iphonesimulator \ SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=是
在项目设置中设置最后一个参数
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
或两者。 (目标和项目两者)
xcodebuild archive \ -scheme MPGSDK-iOS \ -archivePath ~/Desktop/ios-arm64_armv7.xcarchive \ -sdk iphoneos \ SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES
xcodebuild -create-xcframework \ -framework ~/Desktop/ios-arm64_i386_x86_64-simulator.xcarchive/Products/Library/Frameworks/MPGSDK.framework \ -framework ~/Desktop/ios-arm64_armv7.xcarchive/Products/Library/Frameworks/MPGSDK .框架
-输出〜/桌面/MPGSDK.xcframework