应用程序图标不使用cordova更改为自定义图标

时间:2013-08-01 16:38:42

标签: iphone ios cordova

我正在尝试使用phonegap启动cordova应用程序,但无法更改iOS的默认应用程序图标 - (实际图标不是启动画面)。始终将默认图标复制到资源中 - >图标文件夹而不是我的自定义图标。我使用了phonegap中指定的方法,建议在config.xml文件中添加一个图标标签,但是这不起作用?重新启动xcode并重新启动我的应用程序,并从模拟器/设备中删除它不起作用。

这是我的config.xml文件,我指定了图标......

...
<icon src="icon.png" />
<icon src="icon/ios/icon.png" gap:platform="ios" width="57" height="57" />
<icon src="icon/ios/icon@2x.png" gap:platform="ios" width="114" height="114" />
<icon src="icon/ios/icon-72.png" gap:platform="ios" width="72" height="72"/>
<!-- retina iPad support: PhoneGap 2.5.0+ only -->
<icon src="icon/ios/icon-72@2x.png" gap:platform="ios" width="144" height="144"/>
...

任何帮助都会很棒!

P.S。我已经明确检查了我能找到的所有相关帖子,没有运气

8 个答案:

答案 0 :(得分:4)

我遇到了同样的问题,尽管搜索到了一个明确的版本,但我没有尝试在config.xml中添加图标标签,也没有将我的图标存储在www / icon文件夹中,因此cordova构建可以将它们复制为可能是预期。文档根本不清楚,分散在不同的帖子和解决方案中。

那么对我来说有用的是以下内容,虽然我认为这不是最优雅的解决方案,但它有效。

打开您的XCode项目并将您的图标存储在资源/图标文件夹中,或者选择您的目标项目,转到摘要并向下滚动直到看到图标,单击其中任何一个并右键单击它并选择打开查找器所以你有正确的位置来覆盖默认的位置。

请务必使用目标文件夹中使用的相同名称,以避免混淆和清洁您的项目,并再次构建

如果您在模拟器或设备中运行项目,则可能会出现默认图标,在这种情况下,只需从设备中卸载您的应用并重新构建即可。

希望它有所帮助,但我希望有一种方法来修改开发www并让 cordova build 复制图标和启动屏幕。

答案 1 :(得分:3)

此方法有效但您需要完整路径,包括www。 <icon src="www/img/logo.png" />

这种方法是我认为它应该如何工作,但事实并非如此。 <icon src="img/logo.png" />

cordova版本4.0.0

答案 2 :(得分:3)

我有同样的问题(图标已更改回默认值,即使我的路径设置正确),更改行

<preference name="prerendered-icon" value="true" />
config.xml中的

从true到false解决了我的问题。

答案 3 :(得分:0)

这是一个悬而未决的问题:https://issues.apache.org/jira/browse/CB-2606 可悲的是,这并不是唯一不与cordova合作的事情......

但您可以使用此挂钩(与问题相关联)立即获取功能:https://gist.github.com/apla/6179863

答案 4 :(得分:0)

我认为您应该使用最新版本的phonegap,然后尝试一下。

http://cordova.apache.org/docs/en/3.2.0/config_ref_images.md.html 通过这个,我们不得在项目的平台文件夹中硬编码任何东西。

答案 5 :(得分:0)

我的 Cordova 版本 3.5.0-0.2.7 它有效但它需要一组图标。我正在使用Andoid进行测试。 Reference (Document) here

<icon src="www/res/icon.png" />
<platform name="android">
    <icon src="www/res/android/ldpi.png" density="ldpi" />
    <icon src="www/res/android/mdpi.png" density="mdpi" />
    <icon src="www/res/android/hdpi.png" density="hdpi" />
    <icon src="www/res/android/xhdpi.png" density="xhdpi" />
</platform>

我把这些图标放在位于/ www文件夹中的res文件夹中。

现在,为你的IOS。应该是类似的。 (我无法确认。我没有IOS SDK。)

<icon src="www/res/icon.png" />
<platform name="ios">
    <icon src="www/res/ios/icon-60.png" width="60" height="60" />
    <icon src="www/res/ios/icon-60@2x.png" width="120" height="120" />
    <!-- and more.. (please follow the reference)-->
</platform>

在模拟器或设备中卸载您的应用,然后重试。
我希望这有帮助。祝你好运。

答案 6 :(得分:0)

使用this website中的Hook为我做了诀窍。 这个Hook只是一个JavaScript,它在构建过程中(执行时可以配置)执行。这是保持platforms / android目录中的内容通用的好方法,不需要修改配置文件。

PS:在Hook中使用简单的console.log()命令,以查看在构建期间(在CLI中)完成的操作。

答案 7 :(得分:0)

我的Cordova版本是4.2。 但是我在Android测试。

在构建过程中,phonegap会将www / res / icons / ios文件夹中的图标复制到ant-build的android res文件夹中,因此自定义图标永远不会被使用,并且总是被默认值替换。

我建议执行一个cordova构建--verbose并彻底浏览控制台日志,看看它是否行为不端。

祝你好运!