我正在尝试在 Xcode 8.3 及更高版本中创建自定义 .platform 和 SDK。
我最终试图更新旧的 DarwinBuild 构建系统,以便我可以编译一些 Apple 开源组件。 DarwinBuild 曾经使用这种技术,以便能够在无需 chroot 的情况下针对不同的头文件和库进行编译。
DarwinBuild 包括一个安装脚本 installXcode32,它在 Xcode 的 Developer/Platforms 目录下创建一个新的 .platform,并在平台的 Developer/SDKs 目录下创建一个新的 sdk。它还会在正确的位置创建一个 Info.plist 和 SDKSettings.plist。此脚本需要一些更新才能与 Xcode 8.3 一起使用。
我知道这是不受支持的,但在这种情况下这并不重要。毕竟,Apple 发布了原始脚本......
我更新了原始的 installXcode32 脚本以使用新的 Xcode 路径 (/Applications/Xcode.app/Contents/...),它生成了新的 .platform、Info.plist 和 SDKSettings.plist,它们都是符号链接(symbolic link)到正确的位置。但是,xcodebuild -showsdks
现在会产生此错误:
xcodebuild:错误:初始化失败。
原因:缺少平台 darwin 所需的内容。
我知道这是 Info.plist 和 SDKSettings.plist 文件的问题。我尝试复制整个 MacOSX.platform 目录,并更改 .plist 中的名称,但我遇到了同样的错误。
有没有人对 Xcode 和平台有足够的了解,知道需要什么才能让 Xcode 8.3+ 识别"new"平台和 sdk?
非常感谢!
最佳答案
我已经使用 Xcode 9.4 成功地完成了这项工作,就像您所做的一样。我改变了:
CanonicalName
PLATFORM_NAME
显示名称
关于xcode - 为 Xcode 8.3+ 创建自定义平台和 SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43380276/