我遇到了一些我在项目中使用的外部框架的兼容性问题.有没有办法在Xcode 8上更改Base SDK?目前在项目设置中只显示最新的SDK.
我已经尝试将旧版SDK从另一个版本的Xcode复制到此处,但它不起作用:
/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
Jer*_*ock 31
从Xcode 7.3开始,除了在SDK中复制之外,还必须编辑某个Info.plist文件,如此处所述的agx中的macOS所述.它看起来像是iOS的类似文件
Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist
Run Code Online (Sandbox Code Playgroud)
尝试将MinimumSDKVersion的值从10.0 更改为您想要的任何SDK版本.
我没试过iOS,但是,使用这种解决方法,我只能使用Xcode 8.0(8A218a)("GM")使用macOS 10.6构建macOS目标.
UPDATE
上面描述的hack在Xcode 9中停止了为我工作.如果你想使用Xcode 9+,请参阅2017年11月22日我最近的回答.
我的原始答案虽然适用于Xcode 8,但由于一些不值得解释的奇怪原因,不再适用于特定客户端旧项目的Xcode 9.所以我一直在使用另一种非常糟糕的工作流程.
在这个项目上工作,我在打开这两个上了年纪的Xcode,它可以与所需的SDK构建它,并在最近的Xcode.我把旧的Xcode窗口放在后台,并在最近的Xcode中完成我的工作.当我准备好测试更改时,我会执行文件 > 全部保存(⌥⌘S),然后切换到旧的Xcode和Build(⌘B).构建完成后,我切换回最近的Xcode和Product > Perform Action > Run without Building(^⌘R).由于dSYM文件格式未更改,因此断点按预期工作.
优点是不需要对Xcode进行黑客攻击,我唯一需要记住的关于旧Xcode(在我的情况下是Xcode 3)的事情是,怜悯:⌘B.
一个小小的警告:在这个特定项目的Target中,在Build Settings中,它有一个自定义的Build Products Path.这是Mac应用程序多年前构建的典型方式.为了确保您的两个Xcode都使用相同的产品,如果旧的和最新的Xcode跨越了更改默认构建产品路径的版本,您可能需要设置构建产品路径.
通过编写脚本xcodebuild和xcode-select命令行工具可以更轻松地完成工作流程,但这已经足够了.随着Apple在今年的WWDC上宣布支持32位Mac应用程序在未来两年内消失,我的客户在任何情况下都会做出一些艰难的决定.
| 归档时间: |
|
| 查看次数: |
20756 次 |
| 最近记录: |