V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
hwdq0012
V2EX  ›  iDev

ios 开发这么离谱的吗

  •  
  •   hwdq0012 ·
    nocanstillbb · 124 天前 · 12403 次点击
    这是一个创建于 124 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的 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'
    
    

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

    第 1 条附言  ·  124 天前
    防止其他 v 友看不仔细 我反复回复
    ============
    我的 xcode 是页面下载的,下载即有 ios 18.2 的 sdk
    我从 xcode 中创建了 16.0 的 simulator ,但在项目中选择不了, 只有下载了 18.2 的 simulator 才会显示 16.0 的 simulator

    所以假如没有没有其他问题的话
    要编译一个项目部署到旧版本的 simulator 中的步骤是

    + 下载最新的 xcode , 安装最新的 simulator
    + 查看 xcode 支持的最低的 sdk 版本,
    + 安装在这个范围内的 simulator 编译是仍然用的是最新版本的 sdk ,比如编译 ios 16.2 用的使用 ios 18.2sdk (内置)
    + 有 pod 依赖的话, 修改 Podfile, 改 platform :ios, 16.0 ,然后 pod install 安装依赖
    + 在 xcode 中设置 minimum deployment 版本为 16.0 ,build setting 里几个 deployement 相关的 ios sdk 版本也都设置 16.0 , 那个显示 18.2 灰色的不用改,不影响

    然后编译
    第 2 条附言  ·  123 天前

    android + ios sdk 选型 : react_native笔记

    109 条回复    2025-08-07 01:45:21 +08:00
    1  2  
    shunia
        101
    shunia  
       119 天前
    可是 Android Studio 也是这样的啊,Visual Studio 好多目标语言的开发也是这样的啊,全世界的同类产品基本都是这样的逻辑:
    首先一定是下载最新版本 IDE ;
    选择你需要的 SDK (大部分情况下 IDE 都会推荐你选择最新版本);
    在编译( Build )时需要你选择运行环境(真机,或者模拟);
    此时可以挑选当前 SDK 支持的不同版本的运行环境;

    我不是 iOS 开发,看完全篇最搞不懂的地方其实是:XCode 在这个部分,哪里不合逻辑了?
    hwdq0012
        102
    hwdq0012  
    OP
       119 天前
    @shunia 选择设备的地方 选择不了创建的仿真设备,除非装一个最新的,vs 有这样吗,我不知道,我只知道 vs 不安装正确的 sdk 版本,也能编译,编译报错就报错了

    xcode 是不能选择已经创建的仿真设备,就显示一个没有安装 18.x , 我就是想部署 16.0 ,我就是得弄清楚为什么刚创建的 16.0 不能显示到 ui 上,再去考虑安装其他版本

    5 楼贴的外链显然不止我认为 xcode 体验不好,你连 ios 开发都不是也来洗, 纯喜欢凑热闹吧
    shunia
        103
    shunia  
       119 天前
    @hwdq0012 #102 哈哈哈哈不是哥们,你一定要什么都喷吗?

    我确实是看热闹,但是所有 IDE 都是这个逻辑也是事实啊。

    我的意思是你原文要喷的东西,和你实际上喷的点,完全不在一个层面上啊。
    hwdq0012
        104
    hwdq0012  
    OP
       119 天前
    @shunia 那你说说我要喷的和实际的分别是什么,你这样说得太笼统我没办法和你对喷呀
    vvard3n
        105
    vvard3n  
       118 天前
    @hwdq0012 #100 那是必选项。你理解成核心组件就好
    wuwuwuwuvincent
        106
    wuwuwuwuvincent  
       118 天前
    笑死,还有 iOS 开发
    Avedge
        107
    Avedge  
       117 天前
    @nailuoGG 看了 OP 的关于吸烟的帖子,觉得你的建议非常正确。
    yuanxing008
        108
    yuanxing008  
       117 天前
    @Avedge 例如正常人婚检是需要去医学体检科的,但是 OP 可能需要去挂个精神科先看看 : p

    这种人就直接 block 就好了
    livin2
        109
    livin2  
       28 天前
    最近在做自动化测试用的 KVM 镜像,遇到了类似的问题。这类问题的本质是
    1. Xcode 工具链和 IOS sdk 在一定程度上是版本绑定的
    2. IOS sdk 又单独打包在特定版本的 simulator 包里
    这意味着你用新 Xcode 打开旧 simulator 的话,需要与新 Xcode 版本对应的 simulator 包里的 SDK ,没有就等于“没有 IOS 支持”
    同时 Xcode 的版本又与 MacOS 版本一定程度上关联...... 😂😂😂
    1  2  
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   968 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 21:45 · PVG 05:45 · LAX 14:45 · JFK 17:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.