基地与主动与部署目标(Base versus Active versus Deployment ta

2019-06-21 08:08发布

我知道这个问题的部分被要求在若干变化,但我想确保我是正确的。

这里是我的假设和理解,我想知道,如果他们是在提交前正确。

我的应用程序假定所有OS支持的功能,所以我应该:

  1. 设置活动SDK是最新的(目前SDK 3.0)。
  2. 将部署目标是我要支持低 - iPhone 2.0和更高?
  3. 究竟是什么为基础SDK? 我应该忽略它,如果我选择了主动SDK是不同的,我在哪里看到在项目设置活动SDK?

最后一个问题 - 是苹果允许选择iPhone OS 2.0的部署目标?

提前致谢,

顺便说一句 - 我的主要的原因这个问题,一个是因为当与先前版本的SDK编译苹果似乎已经释放了的UIImageView动画阵列存储器时动画保存多时间的使用问题。 这是一个已知的问题这是(通过简单地设定的UIImageView动画阵列为nil)固定SDK 3.0

Answer 1:

基地和Active SDK之间的区别在于,前者是该项目的默认SDK集,后者目前正在构建对SDK。 因此,有可能您的Active SDK成为基础SDK,此时的XCode将使用您为项目指定的SDK。

为了建立您的应用最广泛的一组可能的设备,你是正确的:

  • 将基地SDK到最新的SDK可能(3.0,3.0.1)
  • 将部署目标,以最早的SDK可能的(2.0)

苹果并允许您指定iPhone 2.0的部署目标,但要记住iPhone 2.0后,你会不会提供给您的使用默认发布任何API或框架。 有技术使用从后来的SDK的功能 ,但是他们是平凡的。



Answer 2:

应设置基地的SDK构建设置为包含所有的功能,你打算使用(通常情况下,最新的SDK)最新的SDK,并设置了“iPhone部署目标”建立的设置,在OS的最早版本要运行。

然后,您需要确保您检查,在运行时,对于可能无法在之前的操作系统中存在的任何功能。



Answer 3:

“基地SDK”是最大的SDK,您的应用程序可以支持。 这里有一个硬性限制 - 你不能选择未来,未发行的SDK。

“部署目标”是最小的SDK你愿意支持。 它有多远时光倒流,你愿意去。

Xcode中出现创建的一个虚假的依赖“部署目标。” 举例来说,我不能在我的iOS 5.1.1的iPod和Xcode 4.5.2(Xcode中4.5.2是搭配的iOS 6.0)进行开发,即使在4.3,5.0和5.1的API和模拟器安装在此安装。 我需要使用模拟器或千斤顶在我的iOS 6.0的iPhone。

本场比赛苹果打似乎是造成问题的应用程序了。 因为元素需要的iOS新版本的运行(它同步和我的iOS 6.0 iPhone运行正常)我购买的元素副本不会通过iTunes与iPod同步。

我有两个iPad和一个为4.3。 我不敢想像它会造成什么乱七八糟的。



Answer 4:

一般来说;

在BASE SDK设置为您愿意支持和测试了最新的SDK。

将部署目标为最低版本的iOS你愿意支持和测试。

如果你碰巧使用基本功能的SDK上没有部署目标SDK,应用程序会崩溃在旧设备上运行,因此测试是至关重要的。

可替代的/互补的过程将是使用Deploymate http://www.deploymateapp.com/这确实静态代码分析以识别问题。

如果你是从Android世界的类比是这样的;

TargetSDK - >基础SDK

MinSDK - >部署目标

林特 - > Deploymate



文章来源: Base versus Active versus Deployment target