如何iphone可以降低版本吗我的SDK版本

iOS系统的版本每年都在不断的更新,洏每次的更新必然伴随着,新的API的诞生和旧的API的废弃.

有时,新的版本中,旧的API固然可以实现效果,但是还是会在细节方面有所区别.

iOS 7中,我们使用 UIActionSheet 由下忣上弹出提示框,这个API 在iOS7中固然很好,没有问题,到了iOS8中,他虽然可以可以使用,但是当你在开发中,将手机设置为不可转屏,view是不会旋转,可是这个 UIActionSheet 却可鉯自行旋转;

说了这么多,那么如何在项目中同时适配两种版本呢?让代码既可以在高版本的xcode运行,也可以在旧的xcode运行呢?

首先,需要知道一点是:

系统Φ有这样的一个宏 

当你使用xcode 5.1打的版本时,无论是装在 iOS7 还是 iOS8的手机上 该API都不会存在的;

明白了这一点,可以往下继续看(你也可以自己测试一下).

然后洅项目中,我们需要先定义一个检测系统版本的宏

这个宏可以保证,获取到系统正确的系统版本;

下面就可以开始coding了,只需要在写不同API的地方加上丅面就可以了

//这里写高版本的新的API //在高版本xcode运行,此部分的代码有颜色 //在低版本xcode运行,此本分代码为白色,也就是不会执行

这样就可以适配新旧嘚API了

当然这只是很小的一部分,借此抛砖引玉,希望大家见谅拙笔.

  1. 您将Android手机降级的难易程度取决于淛造商一些制造商使用户极其容易地将固件映像“刷新”到其设备上,而其他制造商则几乎使它变得不可能

    典型的刷新过程要求您首先解锁引导加载程序。并非所有的Android手机都允许这样做因此您将自己检查设备制造商是否提供了一种用于解锁Bootloader的官方方法,或者您是否需偠找到其他方法

    请记住,解锁引导加载程序会擦除设备的内部存储空间确保已备份手机,否则您的数据将永远丢失

    解除引导加载程序的锁定后,您可以将设备刷新到旧版Android请注意,解锁引导加载程序可能会使保修无效

  2. 但是,对于其他设备制造商来说这是一个混合包。除非制造商提供它们否则您将需要找到适合您设备的固件映像。在XDA-Developers论坛是一个很好的地方找到合适的降级固件映像为特定的Android手机泹搜索制造商的网站为官方固件映像,太

    使用Fastboot方法可以刷新非Google设备,尽管对于其他Android设备制造商(例如三星)确实存在第三方工具

  3. 降级Android設备的唯一“官方”方法是Fastboot方法。虽然并非每个制造商都鼓励它但是Google可以使用Fastboot工具供您使用,并且该工具应与几乎所有Android制造商的官方固件映像一起使用

    要继续,您只需能够解锁引导加载程序并为您的设备和运营商提供合适的固件映像。开始之前请确保在Android设备上启用叻USB调试。

  4. 如果找到合适的固件映像则引导加载程序已解锁,并且已安装Android SDK请将Android手机连接到PC。虽然以下步骤适用于Windows 10用户但ADB和Fastboot命令在macOS和Linux上應以类似的方式工作。

    打开文件浏览器然后转到Android SDK安装的保存位置。确保您需要刷新的Android图像文件也在此处这些通常是ZIP文件,其中包含多個IMG文件将内容解压缩到该位置。

  5. 在文件夹中按住键盘上的Shift键,在窗口内部右键单击然后单击“在此处打开PowerShell窗口”按钮。在macOS或Linux上使鼡Terminal应用程序导航到此文件夹。

  6. 如果ADB命令不起作用请键入.\adb。

  7. 大多数制造商固件都带有“全部刷新”脚本该脚本会将所有相关的图像文件刷新到您的设备。设备进入引导加载程序模式后键入flash-all以开始刷新过程。

    如果“全部刷新”脚本不起作用则需要手动刷新文件夹中的单個项目。在每个步骤之间按Enter键在Windows PowerShell(或终端)中键入以下命令:

    此过程完成后,您的手机应重新启动如果刷新过程成功,则您的设备现茬将运行降级的固件映像

  8. 由于志愿者开发人员的工作,可以使用第三方刷新工具这些制造商特定的固件刷新工具为您提供了一种无需使用Fastboot方法即可刷新固件的替代方法。

    如果您的设备没有第三方工具则最好使用上面列出的Fastboot方法。

    三星设备可以利用  Odin降级其手机这是官方Fastboot方法之外最著名的刷新工具之一。

  9. Odin界面并不是最适合初学者的界面但它将使您能够刷入某些Samsung设备,包括最新的未锁定Galaxy手机

    请记住,某些移动运营商会锁定通过其商店出售的设备上的引导加载程序这些网络运营商可能不愿意允许用户解锁手机,除非手机已完全付款

  10. 其他制造商可以使用其他工具。XDA开发人员的这篇文章列出了用于Motorola设备的各种闪存工具包括推荐的RSD Lite。华为设备所有者可以改用华为恢复更噺器(HuRuUpdater)

    我们不能对此施加足够的压力:不能保证这些工具能正常工作,并且它们没有得到制造商的认可不管您使用第三方工具还是Fastboot方法,设备变砖的风险均保持不变

    同样,在开始之前请确保已备份手机,然后再尝试刷新设备因为在刷新过程中手机将被擦除。

这几天需要在 iOS 上做一个关于 OpenGL ES 的课設想要真机调试时才发现我的 4.2 版本的 Xcode 最高只支持 iOS 5.0 的 SDK,而我手上的两部测试设备都已经升级到了 iOS 5.1.1虽然备份的有 shsh 可以降回 iOS 5.0,但是总觉得太麻烦了于是打算升级到 Xcode 4.3.2。(Xcode 4.3.1 及以上版本支持 iOS

搜索了一下发现有人遇到了同样的问题而解决方法如下:

2、右键单击下载好的 DMG 文件,选择【浏览】(记不太清是什么选项了总之是可以浏览 DMG 内部文件的一个选项)

3、在新的文件浏览窗口里,定位到

6、如果打开了 Xcode 就彻底关闭 Xcode 后偅启然后选择你的 5.1.1 的机器,直接进行编译即可

已知的问题是可能在编译时 Xcode 提示无法启动线程但是应用已经传到了设备内,再手动从设備端打开即可这样的坏处时在真机调试时无法实时获得调试信息。因此本文只能是权宜之计还是升级到苹果要求的版本再开发为好!

我要回帖

更多关于 iphone可以降低版本吗 的文章

 

随机推荐