为什么 iOS 应用会全屏放大?

why is the whole screen zooming-in on iOS app?

我正在开发 iOS(8 和 9)应用程序。我正在使用 phonegap build 来打包所有东西,并使用 phonegap 桌面和 phonegap 开发人员应用程序来做一些测试。我的 UI 已经设计好,在使用 phonegap 开发者应用程序以及移动 safari 时一切看起来都很好,但是当我将它移植到我的设备时,UI 看起来很模糊,包括字体、边框、div , 甚至是状态栏和键盘。

这是正确的视图,使用 Phonegap 应用程序和移动 safari: Good

这是安装后的实际视图: Bad quality

我已经设置了视口和比例,但它们不会影响状态栏和键盘。

这是我的 XML

<preference name="phonegap-version" value="3.7.0" />
        <preference name="orientation" value="default" />
        <platform name="ios">
            <preference name="Orientation" value="all" />
        </platform>
        <preference name="fullscreen" value="true" />
        <preference name="target-device" value="universal" />
        <preference name="webviewbounce" value="true" />
        <preference name="prerendered-icon" value="true" />
        <preference name="stay-in-webview" value="true" />
        <preference name="ios-statusbarstyle" value="lightcontent" />
        <preference name="android-windowSoftInputMode" value="adjustPan" />
        <preference name="ShowSplashScreenSpinner" value="false" />
        <preference name="detect-data-types" value="true" />
        <preference name="exit-on-suspend" value="false" />
        <preference name="show-splash-screen-spinner" value="false" />
        <preference name="auto-hide-splash-screen" value="false" />
        <preference name="SplashScreenDelay" value="5000" />
        <preference name="EnableViewportScale" value="true" />
        <preference name="TopActivityIndicator" value="gray" />
        <preference name="KeyboardDisplayRequiresUserAction" value="false" />
        <preference name="HideKeyboardFormAccessoryBar" value="true" />
        <preference name="SuppressesIncrementalRendering" value="true" />
        <preference name="android-minSdkVersion" value="18" />
        <preference name="android-installLocation" value="internalOnly" />
        <preference name="ErrorUrl" value="" />
        <preference name="BackgroundColor" value="0x000000" />
        <preference name="KeepRunning" value="true" />
        <preference name="DisallowOverscroll" value="true" />
        <preference name="LoadingDialog" value="" />
        <preference name="LoadUrlTimeoutValue" value="20000" />
        <preference name="disable-cursor" value="true" />
        <gap:config-file platform="ios" parent="UIViewControllerBasedStatusBarAppearance" overwrite="true">
            <false/>
        </gap:config-file>
        <content src="index.html" />
        <gap:platform name="ios" />
        <gap:platform name="android" />

我不得不提一下,使用较新版本的 CLI 并不能解决问题。

这是我的元标记

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width" />

Phonegap 桌面的示例应用程序也显示了此行为。

您对可能发生的事情有任何想法吗?

我发现了问题。事实证明,自 iOS 9 起,启动画面要求发生了变化。因此,在创建 .ipa 时,缺少一些文件(iPhone 6 和 6+ 的闪屏)。

将下一个 xml 代码添加到我的 config.xml

<gap:splash src="Splash/Default-667h@2x.png" gap:platform="ios" width="750" height="1334" />
<gap:splash src="Splash/Default-Portrait-736h@3x.png" gap:platform="ios" width="1242" height="2208" />
<gap:splash src="Splash/Default-Landscape-736h@3x.png" gap:platform="ios" width="2208" height="1242" />

和相应的文件成功了。 现在看来视野真的很清晰。

希望这对某人有所帮助。