objective-c – 关于Xcode构建设置的杂项混淆(6432位,SDK版本等)

objective-c – 关于Xcode构建设置的杂项混淆(6432位,SDK版本等),第1张

概述当我创建一个新的OS X应用程序项目时,我注意到很多目标选项让我感到非常困惑: (1)Xcode窗口的左上角设置: (2)“基础SDK”: (3)“部署目标”: (4)架构: 这是我的问题: 对于(2)和(3),我认为理解起来更清楚.这些是我理解的: (2)这标识了我的发展. (3)这标识了我的应用程序将使用的 *** 作系统版本. 请告诉我,我是否正确…… 但我无法理解(1).我只知道如果我在这里选择3 当我创建一个新的OS X应用程序项目时,我注意到很多目标选项让我感到非常困惑:

(1)Xcode窗口的左上角设置:

(2)“基础SDK”:

(3)“部署目标”:

(4)架构:

这是我的问题:

对于(2)和(3),我认为理解起来更清楚.这些是我理解的:
(2)这标识了我的发展.
(3)这标识了我的应用程序将使用的 *** 作系统版本.
请告诉我,我是否正确……

但我无法理解(1).我只知道如果我在这里选择32位,我就无法使用ARC.

(4),它们是什么?它们代表cpu的位宽吗? (1)和(4)之间有什么区别?

解决方法 我会不按顺序解释你的物品.

基础SDK

这定义了您可以使用的最大的API集.您可以使用此处标识的版本号中存在的任何内容.例如,如果使用10.8 SDK,则可以使用 – [NScolor CGcolor](在10.8中引入),但不能使用 – [NSData base64EncodedDataWithOptions:](10.9中的第一个公共).

(当然,您也可以使用比该版本更旧的任何内容.)

因此,SDK版本也称为可用性宏中的“max [imum] allowed”版本.

当Apple更改API的行为时,SDK版本有时也会变得很重要.当他们这样做时,他们有时会保留与旧SDK相关联的应用程序的旧行为.这称为“检查后或检查”,如“检查您是否在10.8 [SDK]或更高版本”. (概念和术语早期Xcode为每个 *** 作系统版本都有SDK.它过去只是通过你运行Xcode和构建的任何 *** 作系统.)

部署目标

这是您需要的最低 *** 作系统版本.如果在先前版本中删除了某些内容(很少见,但它确实发生了),则无法使用它.

这往往会影响链接时间和运行时间,而不是编译时间.例如,如果您的部署目标是10.5或更早版本,ARC将无法工作.

因此,部署目标也称为可用性宏中的“min [imum] required”版本.

Info.pList还可以指定最低 *** 作系统版本.现在,这是默认设置,它是通过宏扩展设置到部署目标.

架构构建设置

不同的cpu具有不同的体系结构.从本质上讲,它们适用于广泛的类别,例如:

> PowerPC 32位(ppc)
> PowerPC 64位(ppc64)
>英特尔32位(i386)
> Intel 64位(x86_64)
> ARM 32位
> ARM 64位

(不再支持PowerPC体系结构.您可以将它们添加到体系结构列表中,如ppc和ppc64,但Xcode将忽略它们.)

Mac现在拥有英特尔处理器.几乎所有的Intel Mac都有64位处理器.如果你想在2006年之前支持Mac,你只需要担心32位英特尔.这可能比它的价值更麻烦.

iOS设备运行ARM处理器,大多数仍然是32位. A7(iPhone 5S,iPad Air,带Miniina显示屏的iPad Mini)为64位.但是,如果你在iOS模拟器上运行,它在你的Mac上运行(它是模拟器,而不是模拟器),所以它将针对英特尔架构(以前总是i386,但如果需要可能现在可能是x86_64).

“Xcode窗口的左上角设置”

这是构建方案和运行目标. (是的,它是一个d出式菜单中的两个单独的东西.实际上,它是一个控件中的两个单独的d出菜单.试试吧.)

“我的Mac 64位”是运行目的地.您将在Mac上运行64位版本的应用程序,而不是在iOS模拟器或iOS设备上运行.您对Mac应用程序的选择仅仅是您要运行的体系结构,它们的行为应该相同(显然,这是您有时需要测试的内容).

iOS应用程序在这里有更多选择.有些应用程序仅适用于iPhone,有些仅适用于iPad,有些是通用的,有些可能适用于32位和64位架构.您将为每个可以运行的外形和架构组合(例如,iPhone模拟器64位)提供模拟器.您还可以选择在已连接并启用开发的任何iOS设备上运行您的应用程序(当您在Xcode的视线中插入设备时会收到此提示).

TL; DR

>部署目标是您的应用程序将运行的最低 *** 作系统版本.> Base SDK是您可以使用的最高 *** 作系统版本.如果它还不存在,它根本不存在.>体系结构是您的应用程序将运行的硬件集.> Run Destination是您要在Xcode中运行它的硬件.

总结

以上是内存溢出为你收集整理的objective-c – 关于Xcode构建设置的杂项混淆(64/32位,SDK版本等)全部内容,希望文章能够帮你解决objective-c – 关于Xcode构建设置的杂项混淆(64/32位,SDK版本等)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1006705.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存