【问题标题】:Create custom Platform and SDK for Xcode 8.3+为 Xcode 8.3+ 创建自定义平台和 SDK
【发布时间】:2017-04-12 21:54:35
【问题描述】:

我正在尝试在 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,它们都是符号链接到正确的位置。但是,xcodebuild -showsdks 现在会产生此错误:

xcodebuild: error: Initialization failed. Reason: Required content for platform darwin is missing.

我知道 Info.plist 和 SDKSettings.plist 文件有问题。我尝试复制整个 MacOSX.platform 目录,并更改 .plist 中的名称,但我得到了同样的错误。

有没有人足够了解 Xcode 和平台,知道需要什么才能让 Xcode 8.3+ 识别“新”平台和 sdk?

非常感谢!

【问题讨论】:

    标签: xcode macos sdk darwin


    【解决方案1】:

    我已经使用 Xcode 9.4 成功完成了这项工作,与您所做的非常相似。我改变了:

    • CanonicalName
    • PLATFORM_NAME
    • DisplayName

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-20
      • 1970-01-01
      • 2015-06-29
      • 1970-01-01
      • 2019-01-11
      • 2010-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多