不显示离子资源的cordovaios图标(和splashscreen)
我知道有一些关于这个的post,但是他们都没有工作。 我的android平台工作完美,并显示应用程序图标和闪屏,但ios平台拒绝显示它们。 我尝试了许多不同的文件夹位置,我使用ionic resources
来自动生成图像文件,并将它们放在正确的文件夹中,并填充config.xml,这应该工作。 我什至不知道应用程序从哪里得到cordova机器人图像,我找不到任何地方。 我已经运行cordova platform rm ios && cordova platform add ios
和ionic platform rm ios && ionic platform add ios
,但无济于事。 我用Ionic使用Cordova 6.1.1。
这是config.xml中自动生成的内容:
<icon src="resources\android\icon\drawable-xhdpi-icon.png"/> <platform name="ios"> <preference name="KeyboardDisplayRequiresUserAction" value="false"/> <icon src="resources\ios\icon\icon.png" width="57" height="57"/> <icon src="resources\ios\icon\icon@2x.png" width="114" height="114"/> <icon src="resources\ios\icon\icon-40.png" width="40" height="40"/> <icon src="resources\ios\icon\icon-40@2x.png" width="80" height="80"/> <icon src="resources\ios\icon\icon-50.png" width="50" height="50"/> <icon src="resources\ios\icon\icon-50@2x.png" width="100" height="100"/> <icon src="resources\ios\icon\icon-60.png" width="60" height="60"/> <icon src="resources\ios\icon\icon-60@2x.png" width="120" height="120"/> <icon src="resources\ios\icon\icon-60@3x.png" width="180" height="180"/> <icon src="resources\ios\icon\icon-72.png" width="72" height="72"/> <icon src="resources\ios\icon\icon-72@2x.png" width="144" height="144"/> <icon src="resources\ios\icon\icon-76.png" width="76" height="76"/> <icon src="resources\ios\icon\icon-76@2x.png" width="152" height="152"/> <icon src="resources\ios\icon\icon-small.png" width="29" height="29"/> <icon src="resources\ios\icon\icon-small@2x.png" width="58" height="58"/> <icon src="resources\ios\icon\icon-small@3x.png" width="87" height="87"/> <splash src="resources\ios\splash\Default-568h@2x~iphone.png" width="640" height="1136"/> <splash src="resources\ios\splash\Default-667h.png" width="750" height="1334"/> <splash src="resources\ios\splash\Default-736h.png" width="1242" height="2208"/> <splash src="resources\ios\splash\Default-Portrait@2x~ipad.png" width="1536" height="2048"/> <splash src="resources\ios\splash\Default-Portrait~ipad.png" width="768" height="1024"/> <splash src="resources\ios\splash\Default@2x~iphone.png" width="640" height="960"/> <splash src="resources\ios\splash\Default~iphone.png" width="320" height="480"/> </platform> <platform name="android"> <icon src="resources\android\icon\drawable-ldpi-icon.png" density="ldpi"/> <icon src="resources\android\icon\drawable-mdpi-icon.png" density="mdpi"/> <icon src="resources\android\icon\drawable-hdpi-icon.png" density="hdpi"/> <icon src="resources\android\icon\drawable-xhdpi-icon.png" density="xhdpi"/> <icon src="resources\android\icon\drawable-xxhdpi-icon.png" density="xxhdpi"/> <icon src="resources\android\icon\drawable-xxxhdpi-icon.png" density="xxxhdpi"/> <splash src="resources\android\splash\drawable-port-ldpi-screen.png" density="port-ldpi"/> <splash src="resources\android\splash\drawable-port-mdpi-screen.png" density="port-mdpi"/> <splash src="resources\android\splash\drawable-port-hdpi-screen.png" density="port-hdpi"/> </platform>
为什么这个工作在android而不是ios? 每个人似乎都find了解决问题的答案,但似乎并没有普遍的答案。 我需要它很快启动,我不能启动它没有适当的应用程序图标。 任何人都可以给任何build议?
Nauveen发现了这个错误。 如果您在Windows中使用Visual Studio并将其编译到Mac上的远程服务器上,则Windows将使用反斜杠而不是正斜杠。 这对于Android来说是正确的,但iOS会需要您将反斜杠转换为正斜杠以find图像的正确path。 以下是如何在远程Mac上的Windows和iOS中编译Android时,config.xml文件中自动生成的文件的外观:
<icon src="resources\android\icon\drawable-xhdpi-icon.png"/> <platform name="ios"> <preference name="KeyboardDisplayRequiresUserAction" value="false"/> <icon src="resources/ios/icon/icon.png" width="57" height="57"/> <icon src="resources/ios/icon/icon@2x.png" width="114" height="114"/> <icon src="resources/ios/icon/icon-40.png" width="40" height="40"/> <icon src="resources/ios/icon/icon-40@2x.png" width="80" height="80"/> <icon src="resources/ios/icon/icon-50.png" width="50" height="50"/> <icon src="resources/ios/icon/icon-50@2x.png" width="100" height="100"/> <icon src="resources/ios/icon/icon-60.png" width="60" height="60"/> <icon src="resources/ios/icon/icon-60@2x.png" width="120" height="120"/> <icon src="resources/ios/icon/icon-60@3x.png" width="180" height="180"/> <icon src="resources/ios/icon/icon-72.png" width="72" height="72"/> <icon src="resources/ios/icon/icon-72@2x.png" width="144" height="144"/> <icon src="resources/ios/icon/icon-76.png" width="76" height="76"/> <icon src="resources/ios/icon/icon-76@2x.png" width="152" height="152"/> <icon src="resources/ios/icon/icon-small.png" width="29" height="29"/> <icon src="resources/ios/icon/icon-small@2x.png" width="58" height="58"/> <icon src="resources/ios/icon/icon-small@3x.png" width="87" height="87"/> <splash src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" height="1136"/> <splash src="resources/ios/splash/Default-667h.png" width="750" height="1334"/> <splash src="resources/ios/splash/Default-736h.png" width="1242" height="2208"/> <splash src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" height="2048"/> <splash src="resources/ios/splash/Default-Portrait~ipad.png" width="768" height="1024"/> <splash src="resources/ios/splash/Default@2x~iphone.png" width="640" height="960"/> <splash src="resources/ios/splash/Default~iphone.png" width="320" height="480"/> </platform> <platform name="android"> <icon src="resources\android\icon\drawable-ldpi-icon.png" density="ldpi"/> <icon src="resources\android\icon\drawable-mdpi-icon.png" density="mdpi"/> <icon src="resources\android\icon\drawable-hdpi-icon.png" density="hdpi"/> <icon src="resources\android\icon\drawable-xhdpi-icon.png" density="xhdpi"/> <icon src="resources\android\icon\drawable-xxhdpi-icon.png" density="xxhdpi"/> <icon src="resources\android\icon\drawable-xxxhdpi-icon.png" density="xxxhdpi"/> <splash src="resources\android\splash\drawable-port-ldpi-screen.png" density="port-ldpi"/> <splash src="resources\android\splash\drawable-port-mdpi-screen.png" density="port-mdpi"/> <splash src="resources\android\splash\drawable-port-hdpi-screen.png" density="port-hdpi"/> <splash src="resources\android\splash\drawable-port-xhdpi-screen.png" density="port-xhdpi"/> <splash src="resources\android\splash\drawable-port-xxhdpi-screen.png" density="port-xxhdpi"/> <splash src="resources\android\splash\drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/>
尝试安装这个插件
cordova-plugin-splashscreen
运行cordova插件添加cordova-plugin-splashscreen
然后在ypur config.xml中添加这些行(不是平台ios或android而是其他首选项)。
<preference name="SplashScreenDelay" value="30000"/> <preference name="AutoHideSplashScreen" value="true"/> <preference name="FadeSplashScreen" value="false"/> <preference name="ShowSplashScreenSpinner" value="false"/>
然后在你的app.run函数里面,在离子平台上准备添加这些行
if(navigator && navigator.splashscreen) navigator.splashscreen.hide();
检查这个:
图标图像的最小尺寸应为192×192像素。
飞溅图像的最小尺寸应为2208×2208像素。
如果小于最小尺寸, ionic resources
将不起作用。