ios - 带有 SDK 绝对路径的 xcodebuild 命令

标签 ios xcode command-line sdk xcodebuild

我正在使用 xcodebuild 命令行工具来构建 iOS 应用。

安装 Xcode45-DP1 后,它会自动使用新 Xcode45-DP1 应用程序包中的 6.0 SDK 来构建应用程序。将此应用程序提交到 AppStore 时出现 2 个问题。

  1. 该应用程序现在使用最新的 SDK (6.0) 自动构建,尚未支持,因此无法提交应用程序。 解决方案:我将旧版 SDK (5.1) 复制到 Xcode45-DP.app 并在命令行中指定了 -sdk iphoneos5.1

  2. 第二个问题是,当 ApplicationLoader 验证应用程序时,发现 SDK 使用了不受支持的 Xcode 版本 (45-DP1),并拒绝上传应用程序。 解决方案:我想为 SDK 指定绝对路径,例如:xcodebuild -sdk/path/to/5.1sdk...

问题是 xcodebuild 总是说找不到 SDK“/path/to/iPhoneOS5.1.sdk/”。

有没有人知道如何使用 sdk 的绝对路径以及它应该指向什么文件/目录?

提前致谢。

最佳答案

我也已经搜索了一段时间,但似乎没有直接的方法来获取特定 SDK 的完整绝对路径。但是,如果您为任意库设置 -sdk 开关和 -find-library 并去掉最后几个路径部分,您可以获得完整的 sdk 路径,如下所示:

[ 13:02 jon@MacBookPro ~ ]$ export SYS_ROOT=`xcodebuild -sdk iphoneos6.0 -find-library system`
[ 13:02 jon@MacBookPro ~ ]$ echo "${SYS_ROOT/\/usr\/lib\/libsystem.dylib/}"
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk

[ 13:02 jon@MacBookPro ~ ]$ export SYS_ROOT=`xcodebuild -sdk iphonesimulator6.0 -find-library system`
[ 13:02 jon@MacBookPro ~ ]$ echo "${SYS_ROOT/\/usr\/lib\/libsystem.dylib/}"
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk

关于ios - 带有 SDK 绝对路径的 xcodebuild 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11133981/

相关文章:

ios - 如何从 NSArray 中删除具有相同值的重复对象

ios - 自动续订订阅

java - 命令行发现 Netbeans 无法发现的错误

android - 如何使用aidl将ITelephony.aidl转换为ITelephony.java

ios - 使用 MKGeodesicPolyline Swift 3 计算距离将出现错误

c++ - react native JSI : How to call any javascript function from native?

ios - Alamofire 5 类型 'Request' 没有成员 'authorizationHeader'

objective-c - 将应用程序扩展安装到设备?

iphone - UISearchDisplayController 和自定义单元格

python - 第一次尝试从 Powershell 运行 python。我使用的命令是否正确/我需要做什么才能允许使用 Python?