【问题标题】:Universal apps are not working right. Why?通用应用程序无法正常工作。为什么?
【发布时间】:2010-10-14 18:50:04
【问题描述】:

应用程序的哪一部分“触发”了 iPad 应用程序作为它自己的应用程序,而不是在通用二进制文件中运行 iPhone 版本?

点击“升级当前 iPad 版目标”后,我需要进行哪些更改才能使我的应用程序通用?我的应用程序在模拟器之外运行,但我的图像太小而且我的文字不合适。我在这里错过了什么?

相反,如何强制我的 Universal 应用在 iPad 上的模拟器中作为 iPhone 应用运行? (当更改“Target Device Family”时,它将在模拟器中运行iPad版本的应用程序,而不是iPhone版本。)

编辑:

在我看来,这些问题是相辅相成的。虽然我怀疑这两种情况下的工作机制相同,但我不确定它是什么,也不知道它是如何工作的。

【问题讨论】:

    标签: iphone ipad ios universal-binary


    【解决方案1】:

    在 info.plist 文件中有一些键是由 Targeted Device Family 设置放在那里的。 iPad 会查找这些 plist 键来确定是作为通用应用程序启动还是在 iPhone 仿真模式下启动,以及应用程序启动使用哪个 idiom 的 xib 文件。

    添加: 如果您没有并在 plist 中指定适合 iPad 惯用语的 .xib 文件,则使用带有错误 UIWindow 框架的文件,最终出现在左上角。

    【讨论】:

    • 宾果游戏!我们有一个赢家。谢谢。
    【解决方案2】:

    您需要为 iPad 重新编写应用程序代码,以便在 iPad 上运行时以您想要的方式布置文本和图像。

    要让它作为 iPhone 应用程序运行,你必须停止它是通用的。

    【讨论】:

    • 我的第二个问题是 - 你在哪里阻止它变得普遍?构建配置没有帮助。正如我所说,它只是让应用程序在模拟器中运行。
    【解决方案3】:

    构建设置称为目标设备系列

    这就是它的开始。

    如果您编写了一个通用应用程序并且您想在 iPad 上强制使用 iPhone 模式,您将 Target Device Family 切换为仅 iPhone,它将忽略其他所有内容。

    【讨论】:

    • 这只会让 iPad 应用在 iPhone 模拟器中运行。
    • 确保在开始之前从设备中删除应用并清理所有目标。我发现 PList 可能对更改很挑剔,尤其是在设备上。
    猜你喜欢
    • 2015-08-09
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    相关资源
    最近更新 更多