or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
# 讓 Xcode 15 擁有建置給 macOS 10.9 的能力
讓 Xcode 15 擁有建置給 macOS 10.9 的能力
本文專門給那些需要在新版本系統當中用新版本 Xcode 將祖產專案建置給早期系統版本的資工業者們。
Xcode 15 需要打 libarclite 才能給早於 macOS 10.13 的系統建置應用程式。
通用做法就是從 Xcode 14.2 或 Xcode 13 當中提取出 libarclite 套裝,然後植入到 Xcode 15 當中。先開啟 toolchains 資料夾:
再把 libarclite 的東西放進去(也就是
arc
這個資料夾):然而,如果是 macOS 10.9 的話,事情還要複雜一個層次:
macOS 14 Sonoma 開始的 SDK 幾乎把整個 Foundation 當中的很多基礎類型都重寫了。這就導致之前那些被 Swift 從 Objective-C 借走的基礎類型全部都得重新打上「NS」開頭的後綴才可以直接使用。但這還有一個問題:NSLocalizedString 的建構子不能使用了,因為這玩意在 macOS 14 當中也是被(用純 Swift)徹底重構的基礎類型之一。Apple 毫不留情地給這些基礎類型都下了全局的「
@available(macOS 10.10, *)
」的宣告:這樣一來,除了 libarclite 以外,還需要舊版 macOS SDK 才可以。雖然 macOS 13 Ventura 的 SDK 也可以湊合用,但(保險起見)筆者推薦 macOS 12 Monterey 的 SDK:Release macOS 12.3 SDK · alexey-lysiuk/macos-sdk (github.com)。該 SDK 的安置位置:
再修改一下 Xcode 專案當中對 macOS SDK 的指定(不用理會 not found):
這樣應該就可以正常組建了。如果有提示說 Date 不符合最新版本要求的話,把 Date 改成 NSDate 即可。
$ EOF.