【问题标题】:Using iOS 6 theme for iOS 7 app为 iOS 7 应用程序使用 iOS 6 主题
【发布时间】:2013-10-01 22:50:56
【问题描述】:

我很好奇:有没有办法让 iOS 7 应用程序以老式的 iOS 6 视觉外观运行?我知道UIAppearance 协议,但是为每个单独的元素设置外观似乎有点麻烦。

【问题讨论】:

    标签: ios user-interface ios7


    【解决方案1】:

    更新:无法再上传针对 iOS6 SDK 的应用程序。


    简答:用 SDK6 编译,虽然它仍然是可能的。然而,最终,Apple 会否认这一点。


    如果您喜欢冒险,请尝试: [[NSUserDefaults standardUserDefaults] registerDefaults:@{ @"UIUseLegacyUI": @YES }];

    (但是,不要提交您的应用程序。)

    【讨论】:

    • 用 SDK6 编译成功了一半。如果您使用 XCode 5 并使用 SDK6 进行编译,您仍然会得到 iOS 7 的外观。您可以查看我的答案中的链接。
    • 您的评论不正确。如果您使用 Xcode 4.6 中的 SDK6,您的应用将与旧的 SDK 链接,并获得旧版外观。
    • 我不知道您的回答是否不合逻辑,或者您实际上已经尝试过了。我有,但它不起作用。在 XCode 5 中编译我的应用程序 + 选择 Base SDK 6.1 仍然会导致 iOS 7 的外观,只是更多的错误。
    • 我已经在模拟器上测试过了。我认为在设备上也是如此,但我不确定。
    • 我用 xCode 4 和 iOS 6 SDK 挖掘了我的旧 macbook,但我发现它无法在 iOS 7 模拟器上运行应用程序,而且我目前没有 iOS 7 设备,所以很遗憾,我无法亲自验证您的答案。
    【解决方案2】:

    我测试了我在 2 年前提交到应用商店的一个旧应用,该应用在他们推出 iOS7 之前使用 iOS 6 编译。我可以确认我选择的答案并不完全正确。

    在 iOS 7 设备上运行时,我为 iOS 6 制作的应用是两者的混合 - 50% 看起来像 iOS 6,50% 像 iOS 7。它是用 xCode 4.3 或其他东西编译的,基础 SDK 是 iOS 6.

    例如,工具栏和标签栏看起来像 iOS 6,而警报视图看起来像 iOS 7。

    我制作的应用名为 Social Comics,以防你想亲自看看。我刚毕业不久就做了这个应用,两年没有更新了,所以如果它看起来过时了,请不要笑......

    【讨论】:

    • 问题是,Apple 正在尽可能地在内部使用 iOS7 类来模拟 iOS6 的外观和感觉。如果您的设备上有 iOS7,那么您就有 iOS7。
    【解决方案3】:

    在 XCode 5 中使用 SDK6 编译对您没有多大帮助。如果您不将其自定义为看起来像 iOS6,您仍然会获得 iOS 7 的外观。在这里查看我的答案:https://stackoverflow.com/a/18954491/1578927

    【讨论】:

    • 这是不正确的。此行为仅在针对基本 SDK 进行编译时发生。如果您从 Xcode 4.6 获取 iOS 6 SDK 并针对它进行编译,即使使用 Xcode 5,您也会得到旧版外观。
    • 我不同意。我不止一次尝试使用旧的 SDK。即使您将 Xcode 4.6.3 Base SDK 复制到 XCode 5,您也不会得到旧版外观。上面的链接有很多试验和错误。
    • 我已经在一台装有 iOS6 的设备上进行了测试,它可以工作。不确定模拟器。
    • 我已经针对 XCode 5 上的 6.1 SDK 重新测试了设备上的 2 个应用程序。其中一个卡在初始屏幕上,另一个会崩溃而没有错误。在模拟器上,我仍然得到了 iOS 7 的外观。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 2013-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多