美文网首页
BaseSDK & DeploymentTarget

BaseSDK & DeploymentTarget

作者: 蓝白自由 | 来源:发表于2018-08-24 11:28 被阅读12次
deployment [diː'plɒɪmənt] 调度,部署
  • Base SDK 设置为当前 Xcode 编译使用的 SDK 版本,比如 Latest IOS(IOS7.1)
  • Deployment Target 设置为你所支持的最低的 iPhone OS 版本,比如5.0。也就是你手机/pad运行本项目的最低版本。即本项目最低运行环境在5.0系统及以上版本。

这两个在开发的时候需要注意,比如用 Xcode5.0 默认的设置开发的 app是 iOS 7.0 的,想要适配 iOS6.1,需要将 Development Target 改成 iOS 6.1,并且将模拟器设置成 iOS 6.1,再运行程序的话就是在 iOS 6.1 下边运行了,但是如果不设置 BaseSDK 的话,工程就是基于 SDK 7.0 编译而基于 SDK 6.1 运行,这样极有可能崩溃;
比如 因 tintColor :
self.window.tintColor = [UIColor redColor];
运行程序,不会出错。现在将 Development Target 改成 6.1,将模拟器改成 6.1。然后运行,编译通过,但是运行崩溃,打印

-[UIWindow setTintColor:]: unrecognized selector sent to instance 0x7572850
reason: '-[UIWindow setTintColor:]: unrecognized selector sent to instance 0x7572850'

这是因为程序是在 SDK 7.0 下编译的,tintColor 没有问题,但是在SDK6.1下运行,6.1中是没有 tintColor 的,结果就崩溃了。将 BaseSDK改成6.1,再运行,就会编译出错,无法运行


将上边一句改成

#ifdef __IPHONE_7_0    self.window.tintColor = [UIColor redColor];#endif

再运行,完美通过……

相关文章

网友评论

      本文标题:BaseSDK & DeploymentTarget

      本文链接:https://www.haomeiwen.com/subject/rnxprftx.html