美文网首页
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