ios 开发这么离谱的吗

174 天前
 hwdq0012

我的 mac book 版本是 14.7.4 (23H420) Sonoma
我安装了 xcode 16.2 , 想开发 ios 16.0 的版本(因为我的 iphone 是这个版本
但是 xcode16.2 内置的 ios sdk 是 18.2
于是我又下载了一个 xcode 14.0.1 (内置 ios sdk 16.0 ), 但是 Sonoma 不支持这个版本的 xocde
我又把 xcode 14.0.1 内置 的 ios sdk 16.0 复制到 xcode 16.2 中, 还是不能使用 16.0 的 ios sdk

❯ xcrun --sdk ios --show-sdk-version
2025-05-02 14:42:44.267 xcodebuild[40697:13592334] [MT] DVTSDK: Skipped SDK /Applications/Xcode16.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.0.sdk; its version (16.0) is below required minimum (18.2) for the iphoneos platform.
2025-05-02 14:42:44.430 xcodebuild[40697:13592334] Writing error result bundle to /var/folders/pr/vrpq9jvn4jgff8c5jmlm12mm0000gp/T/ResultBundle_2025-02-05_14-42-0044.xcresult
xcodebuild: error: SDK "ios" cannot be located.
2025-05-02 14:42:45.664 xcodebuild[40699:13592356] [MT] DVTSDK: Skipped SDK /Applications/Xcode16.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.0.sdk; its version (16.0) is below required minimum (18.2) for the iphoneos platform.
2025-05-02 14:42:45.837 xcodebuild[40699:13592356] Writing error result bundle to /var/folders/pr/vrpq9jvn4jgff8c5jmlm12mm0000gp/T/ResultBundle_2025-02-05_14-42-0045.xcresult
xcodebuild: error: SDK "ios" cannot be located.
xcrun: error: Failed to open property list '/Users/hbb/source/repos/rn/AwesomeProject/ios/SDKSettings.plist'
2025-05-02 14:42:47.075 xcodebuild[40700:13592367] [MT] DVTSDK: Skipped SDK /Applications/Xcode16.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.0.sdk; its version (16.0) is below required minimum (18.2) for the iphoneos platform.
2025-05-02 14:42:47.241 xcodebuild[40700:13592367] Writing error result bundle to /var/folders/pr/vrpq9jvn4jgff8c5jmlm12mm0000gp/T/ResultBundle_2025-02-05_14-42-0047.xcresult
xcodebuild: error: SDK "ios" cannot be located.
xcrun: error: unable to lookup item 'SDKVersion' in SDK 'ios'

各位佬都怎么设备 开发环境的,如果要支持旧环境的话, 不然要装旧的操作系统吧

13058 次点击
所在节点    iDev
109 条回复
MacsedProtoss
173 天前
@zoharSoul as 大工程直接挂得很彻底 index 的时间很久又完全无法使用 而且直接 ide run 卡的要死还得先 gradle 编译好装上去再 attach debugger
说到 debugger ,android 的断点调试几乎可以说是没有,更大概率靠日志
kekeabab
173 天前
不是,你这么在意 Xcode 版本干什么,Xcode 是 Xcode ,sdk 是 sdk ,模拟器是模拟器,拿出来都是能单独用的。

你命令都用错了知道吗,根本没有 `xcrun --sdk ios --show-sdk-version` 这个命令,正确的命令是 `xcrun --sdk iphoneos --show-sdk-version`

你一开始的问题就是设置个`minimum deployments`的问题,至于模拟器,你一开始根本没有提到模拟器,后面硬在那犟嘴扯什么模拟器。你要启动旧版本模拟器,直接可以用`xcrun simctl list devices`查看已有模拟器,然后`xcrun simctl boot UUID`选中模拟器,之后`open -a simulator`就能启动。就那么几个命令,你随便看看 help ,甚至问问 ai 都行。

你用最新的 18 的 sdk ,一样能开发低版本 ios 的东西,当然你非要用低版本的 sdk 也完全没有问题,你甚至用 Linux 、用手机平板开发编译都没问题。

下面是我用 x86_64 Linux 使用 16 的 sdk 开发 ios13 arm64 程序的截图

https://imgur.com/w9N6AxX.png

另外 Xcode 确实是个垃圾东西,但 iOS 开发和用不用 Xcode 根本没关系,我身边认识三个搞 iOS 的,包括我自己业余的,就一个用 Xcode 的。
hwdq0012
173 天前
@kekeabab 一开始没提到是因为选择不了旧的 simulator 导致我以为需要用不同的 sdk 版本才能选择中,并拷打了 ai 后再来提问的, 然而 5 楼的时候就已经解决 了还一堆人回复 着 ‘不要嘴硬’ ‘听不见去’ ‘承认错误’ ‘不认真看’ 之类的,实在是有些搞笑 5 楼之后都是没有意义的回复
kekeabab
173 天前
补图
v1
173 天前
如果超过三个人提到了相同的修复办法,而你用这个办法没办法修复问题,那么不是你的文字叙述有偏差就是个人能力有问题。
hwdq0012
173 天前
@kk2syc 又来一个,5 楼已定位问题,7 楼已正常选择编译用的 simulaotr ,你看了吗
v1
173 天前
@hwdq0012 我看了,很高兴你解决问题了。但是,我说的是你回复别人的态度。大家是陌生人,你不必把自己的愚钝摆到台面来,然后说什么群体是什么样的。
hwdq0012
173 天前
@kk2syc 我只是被 5 楼那个 xcode 这个奇葩问题一时被拐弯了而已,难道不是这样吗 5 楼之后 90%都是像你这样跳过 5 楼直接教育我的, 你们呢,承认 xcode 坑不行吗, 疯狂洗这洗那的, ‘会弹个安装窗口的’ ‘simulator 包含 sdk 的’ 'xcode 不管从哪 安装没有自带 sdk 的' 然而事实就是我从 xip 解压出来的 xcode 一解压出来就是 12gb , 也没弹什么窗口让安装 ios sdk , 我只是安装了 16.0 的 simulator 用不了, 向 ai 求助后 ai 让我安装低版本的 xcode 从中复制,也不行,最后安装了一个 18.2 的 simulator 就正常了,3-4 楼,6 楼 5 楼之后不看仔细 append 和 5 楼外链上来就一顿教育我的 难道不是像我 7 楼所说的那样傲慢吗 xcode 难道不是真的烂吗
v1
173 天前
@hwdq0012 你还不明白吗?你一直以为#5 是解决问题的正确方式,其实只是你误打误撞的结果,大家只是试图告诉你正确的,然而你似乎没有能力理解。比如 @kekeabab #62 ,然后你还是在掰扯,反正不能是你自身有问题就对了。

接受批评也是一种编程能力。

当然,你要说 xcode 烂是你的事情。
hwdq0012
173 天前
@kk2syc 所以你认为外链中那几个也是误打误撞解决了 你认为 xcode 不安装最新的 simulator 不能设置其他 simulator 为 target 进行编译操作也是正常的呗
zoharSoul
173 天前
@MacsedProtoss #61 as debug 很好用啊 怎么会没有呢
MacsedProtoss
173 天前
@zoharSoul 用 pixel 的话才是好用的 大部分系统断点就是 anr 会强杀 国内调试还要插卡 哪怕是 pixel 也得保持亮屏 且 crash 不能保存现场 调试 native 的话也容易挂
综合来说 as 调试肯定是不如 Xcode 的
hwdq0012
173 天前
@kk2syc 到家又把 62 楼看了一次, 他说是 minimum deployemnts 的事, 但我的问题是选择不了一个 simulator 作为编译部署环境,点编译马上弹窗 这种情况设置 minimum deployments 有什么用请问,你所有回复都是没有看我的 append 和 5 楼外链的情况下的乱回复,顺带还给我一又一顿教育, 还 cpu 我虚心接受你的教育, 人在极度无语的时候真的会笑一下
saltpi
173 天前
@MacsedProtoss iOS 、Windows 和 Android 都深入开发过一段时间,Xcode 的调试吊打 Android Studio ,个人感觉 Xcode > Visual Sudio > Android Studio. Xcode 功能也比以前丰富了,内置 vim 、书签,就 AI 功能差了点。Android Studio 的调试一样难尽,有线都常常卡的一批。
jamesjammy061
173 天前
是的确实逆天,必须要老系统才能用超级老的 xcode 。特么更逆天的是 Sequoia 不支持,得回退系统
jamesjammy061
173 天前
xcode 16 还砍掉了 wireless 连接那个按钮,只能走 mDNS 自动发现,但是公司开发网基本都是会禁用多播。就很蠢
pipasese
173 天前
得用最新的 Xcode16 版本,4/24 号以后只能使用 Xcode16 进行编译以及提交到 appstore 了。
wakarimasen
173 天前
我没搞过 iOS 开发光看上面的回答都把逻辑捋明白了。
1. XCode 版本和 macOS 的版本是有一一对应关系的,装旧的版本可能会引发奇怪的问题。
2. 安装好 XCode 之后应该会提醒安装相应版本的 SDK 和模拟器。如 51 楼所示。
3. 一般情况下只需要在工程里面设置最低系统要求的版本就是编译产物兼容的版本。
4. 如果你调试的时候有在特定操作系统复现的必要,而又恰好有物理机器,直接把真机接上去就行了。
5. 如果没有相应的机器,可以完成第 2 步后在交互界面里面找到旧版的模拟器下载并安装。

假设上述观点为事实的前提下,再去看你的操作,确实是你被 AI 带歪在瞎搞。
jqtmviyu
173 天前
必须新系统才能安装新的 Xcode, 建议离 Xcode 远点, 移动端就 expo, pc 端就 electron, 又不是不能用.
hwdq0012
173 天前
@angrylid 在 ai 带我瞎搞之前是 xcode 反直觉需要下载 18.2 的模拟器才能选择其他模拟器(看 5 楼外链 我不是唯一被坑的人) 导致我以为是需要安装别 xcode 或 sdk 我的 xcode 是登苹果官方网站下载的 xip 解压出来的 解压出来就 12gb 不是他们说的 3gb 也没有跳什么弹窗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1129398

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX