我应该使用哪个 iPhone“Active SDK”版本?

2024-01-20

当我想要构建应用程序时,当前(截至 2008 年 12 月)iPhone SDK 允许我在 3 个版本之间进行选择:2.0、2.1、2.2。 -- 我将忽略下面的 2.1。

我的假设:

  • 2.2比2.0有更多可用的API函数,
  • 2.2 修复了 2.0 以来的错误,
  • 2.2 向后兼容 2.0(构建和运行),
  • 如果我使用 SDK 2.0 构建,我的应用程序将在 iPhone 2.2 上运行,
  • 如果我使用 SDK 2.2 进行构建,我的应用程序将无法在 iPhone 2.0 上运行。

我认为使用可以构建应用程序的最早版本是最好的,这样它就可以在运行旧操作系统的 iPhone 上运行。

但是,如果我使用 2.0 构建我的应用程序,是否存在缺少某些内容的风险?也许一些速度或更好的用户界面元素。但也许 2.0 和 2.2 之间没有太大区别,甚至不需要担心?

所以我的问题是:我应该选择哪个SDK?

  1. 我可以用来构建的早期 SDK,以拓宽我的目标市场。
  2. 始终使用最新的 SDK,以便我的应用程序从改进中受益 - 但代价是可能会减少我的市场。

(如果答案是显而易见的,为什么我还有选择?!)


您可以使用 iPhone OS 2.2 SDK 并仍然针对 iPhone OS 2.0 进行编译;执行此操作的方式与 Mac OS X 相同。SDK你使用的决定了最近的您想要的操作系统版本使用API​​来自,而部署目标你使用的决定了最近的您想要的操作系统版本run on。这两者通常应该在 Xcode 的项目级别设置。

因此,您可以根据 iPhone OS 2.2 SDK 构建软件,并且在安装了 2.2 或更高版本的设备上运行时,可以使用 2.2 功能。但您可以将其部署目标设置为 2.0 并not在安装了 2.2 之前的操作系统的设备上运行时使用 2.2 功能,您的应用程序应该可以正常工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我应该使用哪个 iPhone“Active SDK”版本? 的相关文章

  • 在 Objective C 中使用下划线作为属性名称前缀 [重复]

    这个问题在这里已经有答案了 我以前避免在变量名中使用下划线 这可能是我大学 Java 时代的遗留下来的 因此 当我在 Objective C 中定义属性时 我自然会这样做 In the header interface Whatever N
  • 安装 Ruby 后,MAC OS X 上的活动开发人员路径无效

    我收到此错误 xcrun 错误 无效的活动开发人员路径 Applications Xcode app 缺少 xcrun Applications Xcode app usr bin xcrun This solution https sta
  • 为什么单个 Vec4 乘法会大大减慢我的 ogl es 2 片段着色器的速度?

    我正在为 iOS 设备编写 2D OpenGL 游戏 现在 我正在研究 iPad 第一代 上的性能 该游戏有 ogl 1 1 和 2 0 的代码路径 我可以通过 define 使用 ogl 2 0 时 分析器告诉我 我的渲染器利用率 相当稳
  • Facebook oauth/access_token 丢失

    不知道我是否错过了什么 但就这样 我正在尝试为我的应用程序获取 access token 以便它可以在 facebook 上查找某些公共群组的事件 而无需用户登录 我试图从中获取 access token 这将返回一个字符串 access
  • 如何等待 webViewDidFinishLoad 完成

    我有一个初始化 webView 的布尔条件 并在 webViewDidFinishLoad 中加载另一个委托 以便在完成完成后触发 但是 由于布尔值在条件 webViewDidFinishLoad 之前返回 因此页面永远不会完全加载 如何确
  • 使用 Objective-C 在 iPhone 应用程序中显示或隐藏 UIButton

    我在用UITextView编辑文本 我想用两个UIButtons编辑并保存 最初我想显示编辑UIButton 当用户单击编辑时我想显示保存UIButton 当内容成功保存后 我不想再显示保存按钮 我是一名 C 编码员 在 C 中我曾经这样做
  • iOS 4.2.1 丢失文件?

    这是我第一次使用最新的 xcode 3 2 5 和新的 iOS 4 2 1 当我在设备上运行应用程序时 我收到以下运行时错误 无法读取 Developer Platforms iPhoneOS platform DeviceSupport
  • iOS 开发: [[self navigationController] viewControllers]; 有哪些原因?会返回零吗?

    以下语句返回零 NSArray viewControllersInNavStack self navigationController viewControllers 这个语句是在导航堆栈中大约四层深度的视图控制器中调用的 所以我不明白它如
  • 如何使用 ZBar 读取器的 scanCrop 属性?

    我正在使用 iPhone 的 ZBar SDK 来扫描条形码 我希望阅读器仅扫描特定的矩形而不是整个视图 为此需要将阅读器的 scanCrop 属性设置为所需的矩形 我很难理解必须设置的矩形参数 有人可以告诉我如果在纵向视图上它的坐标是 我
  • MKMapView 中显示多个注释标注

    是否可以同时打开多个标注 代码 void mapViewDidFinishLoadingMap MKMapView theMapView for id
  • 维护 UISegmentedControl 中的选择

    我可以保持 UISegmentViewControl 段的选定状态吗 即 即使用户选择了另一个段 也可以保持一个段显示为选中状态 我似乎在任何地方都找不到任何可以做到这一点的东西 这是不可能开箱即用的 看如何才能选择 UISegmented
  • 如何在ios中以编程方式添加水平间距和垂直间距?

    我在 ios 8 中创建了一个应用程序 因为我有 4 个可垂直使用的标签 它应该在某些条件下更改位置 所以我已禁用自动布局并以编程方式设置约束 现在的问题是 我可以设置水平和垂直位置 宽度和高度的约束 但我找不到任何方法来添加标签之间的水平
  • 如何使用 afnetworking 在后台上传任务

    我正在尝试使用 AFNetworking 上传大文件 并在应用程序处于后台时继续上传 我可以很好地上传文件 但是当我尝试使用后台配置时 应用程序崩溃并显示以下堆栈跟踪 异常 EXC BAD ACCESS 代码 1 地址 0x8000001f
  • 推送/呈现模态视图控制器

    我的视图控制器中有一个表 我们称之为 TVC1 我使用了 TVC1 中的行 以便用户除了 TVC1 上的数据之外还可以输入更多数据 因此 当有人点击 TVC1 中的特定行时 它将显示另一个视图控制器 我们称之为 TVC2 然而 当显示TVC
  • 如何检查 Xcode 使用的 LLVM 编译器版本?

    我在 OS X 10 8 2 上使用 Xcode 4 5 2 我如何知道 Xcode 使用的是哪个版本的 LLVM 编译器 从命令行 07 40 35 andrew iMac SalesIQ siq 303 llvm gcc v Using
  • 删除部分(红色删除按钮),UITableViewController - iOS

    我正在尝试做一个分组的 uitableview 并且我已经激活了编辑选项 我希望用户也能够删除整个部分 而不仅仅是特定行 因此 当您单击 编辑 时 每个表格单元格左侧显示的红色减号按钮也应该显示在各个部分 部分标题左侧 有人知道如何做到这一
  • AVAssetExportSession 输出文件

    AVAssetExportSession 输出文件应该是什么样子 我正在尝试压缩 ALAsset 项目中的视频 但它不起作用 我猜输出文件与它有关 这是我正在使用的代码 NSString destinationPath NSHomeDire
  • iOS 4.0 中的应用程序将终止

    iOS 4 0 中未调用 applicationWillTerminate 委托方法 当我点击 主页 按钮时 我看到 applicationWillResignActive 和 applicationDidEnterBackground 委
  • UIWebView 内的滑动手势识别

    我已经阅读了很多关于此的问题 但似乎没有一个能够实现我想要的 所以可以说我有一个任意的UIWebView里面的一个UIViewController The UIViewController has a SwipeGestureRecogni
  • 在 iPhone 模拟器中从硬盘读取文件

    是否可以将文件 从我的普通文件系统 读入在 iPhone 模拟器上运行的 iPhone 应用程序 据我所知 iPhone 本身没有 用户可访问的 文件系统 但这只是为了测试 并且只能在模拟器中运行 该文件将是一个可以在应用程序运行时编辑的文

随机推荐

  • 如何使用Qt WebEngine和QWebChannel?

    我正在使用新的 WebEngine 来玩耍和学习 我一直在尝试使用 Qt WebKit 找到一些类似的方法 addToJavaScriptWindowObject 我发现使用 Qt WebEngine 我必须使用QWebChannel将函数
  • Android 使用 CamcorderProfile 捕捉慢动作视频

    我正在尝试在 Nexus 5x 上捕捉慢动作视频 这就是我配置媒体记录器的方式 CamcorderProfile profile CamcorderProfile get CamcorderProfile QUALITY HIGH SPEE
  • 在 Fortran 中使用矩阵作为函数中的参数和子例程中的输出

    我试图创建一个程序 要求我使用矩阵作为函数和子例程的输入 并且还要求我将矩阵作为 Fortran 中的子例程输出 但是 我在这样做时遇到了多个错误 我无法理解这些错误的根源以及如何修复它们 我对逻辑很有信心 但我在处理矩阵时似乎犯了错误 求
  • NoSuchMethodError:没有静态方法decodeBase64

    我正在开发马拉地语聊天机器人 在此我使用 Google Translator API 和语音转文本 直到昨天应用程序工作正常 但重新启动 Android Studio 后 出现此错误 我的应用程序正在 AVD 中运行 并且只有一台设备已获得
  • ANTLR4:词法分析器规则:任何字符串,只要不包含这两个并排字符?

    有没有办法在 ANTLR4 中表达这一点 任何字符串 只要它不立即包含星号 后面跟着一个正斜杠 这不起作用 因为 ANTRL 抛出此错误 multi character literals are not allowed in lexer s
  • Mercurial:自动添加子存储库的 Windows 脚本

    瑞安 威尔考克斯 https stackoverflow com users 224334 ryanwilcox已发布脚本于here https stackoverflow com questions 2408772 how do i ad
  • 获取一致的密钥错误:\n [重复]

    这个问题在这里已经有答案了 当尝试运行包含以下代码的脚本来生成文本块时 from textwrap import dedent text dedent yada yada 1 2 3 4 0 Null 1 Hello world 1 2 f
  • WebView - Youtube 视频在后台旋转播放并最小化

    我有一个 WebView 问题 基本上我正在加载一个在某些地方嵌入了视频的论坛 如果您播放视频然后旋转设备 视频会在后台继续播放 您可以访问它来停止它 当您最小化应用程序时也会发生这种情况 有办法阻止这种情况吗 这是我正在使用的 WebVi
  • 将html表中的所有数据获取到数组中

    到目前为止 我可以将所有通用文本数据放入数组中 但我正在努力处理表格单元格内的选择框 到目前为止 在我的 jQuery 中我有这个 image button click function var myTableArray table img
  • 如何使用discord.py消除DM中的反应

    我想删除我的机器人发送的私人消息中的反应 当我尝试这个时 embed discord Embed title Choose the word difficulty description 1 Easy n 2 Medium n 3 Hard
  • 如何防止浮点数不精确影响numpy.arange?

    Because numpy arange https docs scipy org doc numpy reference generated numpy arange html uses ceil stop start step 判断物品
  • VB6:名称与现有模块、项目或对象库冲突

    打开 VB6 项目时 我收到如下错误 加载期间出错 参考xyz LOG 我打开日志文件并看到以下错误 第 42 行 控件 XYZ 的类 Threed SSPanel 不是加载的控件 班级 在这种情况下 我可以看到问题是由于 Sheridan
  • IEEE 浮点标准中的 (+0)+(-0) 是什么?

    我对任何浮点数的算术运算都是由 IEEE 浮点标准明确定义的吗 如果是的话 只是出于好奇 什么是 0 0 有没有办法在实践中用 C 或其他常用的编程语言检查这些事情 有符号零的算术 IEEE 754 规则规定 0 0 0 0取决于舍入模式
  • 从 Pandas Column 中解压字典

    我有一个数据框 其中一列作为字典 我想将其解压为多列 即代码 金额是下面原始列格式中的单独列 以下代码用于使用 pandas v0 22 现在 0 23 给出索引错误 pd DataFrame from records df col nam
  • 松弛传入的 webhook 总是发布到默认频道,即使我提供了不同的频道

    我正在尝试使用传入的 webhook 将消息发送到 slack 通道 并且 webhook 是使用默认通道 channel1 创建的 但现在我想使用相同的传入 webhook 将消息发送到通道 general 我正在使用以下命令来执行此操作
  • chrome 和 firefox 之间的 SVG 图案不一致

    我有一个覆盖指定为图案的纯色 红色 的渐变
  • docker-machine:找不到命令

    我最近将 Docker Desktop for Mac 升级到版本 2 2 0 0 现在尝试运行docker machine命令我收到错误 docker machine version docker machine 找不到命令 Docker
  • 以多行而不是一长行显示 JSON 文件的内容

    在 Unity 中 我使用 JSON 文件保存游戏 当我在 Visual Studio 中打开该文件时 它会在一行中显示全部内容及其所有变量 这是我的 JSON 文件的一小部分 JSON before my copy paste trick
  • 确定 viewDidLoad 中的框架/边界

    各位程序员大家好 首先 对这么长的帖子表示歉意 我的问题相当简单 但我想确保你知道我在做什么 而且我真的不想改变我方法的基本思想 以下都是以编程方式完成的 没有故事板 没有笔尖 没有导航控制器 我有一个没有自己的视图的 RootViewCo
  • 我应该使用哪个 iPhone“Active SDK”版本?

    当我想要构建应用程序时 当前 截至 2008 年 12 月 iPhone SDK 允许我在 3 个版本之间进行选择 2 0 2 1 2 2 我将忽略下面的 2 1 我的假设 2 2比2 0有更多可用的API函数 2 2 修复了 2 0 以来