phonegapプロジェクト内にアプリアイコンを追加するにはどうすればよいですか?


85

デフォルトのconfig.xmlを使用して新しいphonegap(v 3.0.0-0.14.0)プロジェクトを作成し、iOSおよびAndroidプラットフォームを追加しました。

設定には、すべてのプラットフォームアイコンへのすべてのパスが含まれています。

iOSとAndroidのデフォルトのアイコンを上書きして、パスと名前がこれらのpngと一致するようにしました。

シミュレーターで実行している場合、アイコンは表示されません。xCodeで調べたところ、アイコンの「Resources」フォルダにはまだphonegapのデフォルトアイコンが含まれていることがわかりました。Androidと同じです。

私は何が間違っているのですか?

phonegapを使用してiOSおよびAndroid用のカスタムアプリアイコンを追加するにはどうすればよいですか?

ありがとう

私のconfig.xml

<icon src="icon.png" />

<icon gap:density="ldpi" gap:platform="android" src="res/icon/android/icon-36-ldpi.png" />
<icon gap:density="mdpi" gap:platform="android" src="res/icon/android/icon-48-mdpi.png" />
<icon gap:density="hdpi" gap:platform="android" src="res/icon/android/icon-72-hdpi.png" />
<icon gap:density="xhdpi" gap:platform="android" src="res/icon/android/icon-96-xhdpi.png" />

<icon gap:platform="ios" height="57" src="res/icon/ios/icon-57.png" width="57" />
<icon gap:platform="ios" height="72" src="res/icon/ios/icon-72.png" width="72" />
<icon gap:platform="ios" height="114" src="res/icon/ios/icon-57-2x.png" width="114" />
<icon gap:platform="ios" height="144" src="res/icon/ios/icon-72-2x.png" width="144" />

<icon gap:platform="blackberry" src="res/icon/blackberry/icon-80.png" />
<icon gap:platform="blackberry" gap:state="hover" src="res/icon/blackberry/icon-80.png" />

<icon gap:platform="webos" src="res/icon/webos/icon-64.png" />
<icon gap:platform="winphone" src="res/icon/windows-phone/icon-48.png" />
<icon gap:platform="winphone" gap:role="background" src="res/icon/windows-phone/icon-173.png" />

4
これでしょうか?ローカルビルドは設定ファイルを無視しますか?stackoverflow.com/questions/15018098/…–
Markus

マーカスは正しいです、彼のコメントは答えでなければなりません
drodsou 2013

1
アイコンをデバッグ/動作させるために知っておくべきすべてのことについてFAQを作成するのに時間をかけました(cordova5.1.1)。stackoverflow.com/a/31674547/82609を
Sebastien Lorber 2015

回答:


67

幸いなことに、スプラッシュ画像に関するドキュメントが少しあります。これにより、アイコン画像の適切な場所を取得するための道が開かれました。だからここに行きます。

ファイルの配置場所 コマンドラインインターフェイス「cordovabuildios」を使用してプロジェクトをビルドすると、iOSアプリの完全なファイル構造がplatforms/ios/フォルダーに作成されます。

そのフォルダー内には、アプリの名前が付いたフォルダーがあります。これにresources/は、icons/splashscreen/フォルダが配置されているディレクトリが含まれています。

アイコンフォルダには、4つのアイコンファイルがあります(57ピクセルと72ピクセル、それぞれ通常バージョンと@ 2xバージョン)。これらは、これまでに表示されているPhonegapプレースホルダーアイコンです。

何をすべきか

このフォルダにアイコンファイルを保存するだけです。だから〜だ:

YourPhonegapProject/Platforms/ios/YourAppName/Resources/icons

スプラッシュスクリーンファイルについても同じです。

ノート

  1. そこにファイルを配置した後、cordova build iosxCodeの「製品のクリーンアップ」メニューコマンドを使用してプロジェクトを再構築します。これがなくても、Phonegapプレースホルダーが表示されます。

  2. info.plistまたはconfig.xmlの名前を編集するのではなく、ファイルの名前をiOS / Appleの方法(つまり、icon-72 @ 2x.pngなど)に変更するのが賢明です。少なくともそれは私にとってはうまくいった。

  3. ちなみに、config.xml(つまり<icon gap:platform="ios" height="114" src="res/icon/ios/icon-57-2x.png" width="114" />)のアイコンに指定されている奇妙なパスと奇妙なファイル名は無視してください。それらの定義をそのままにしておくと、114pxのアイコンの名前icon@2x.pngicon-57-2x.png。ではなくても、アイコンは問題なく表示されました。

  4. アイコンに対するAppleの光沢効果を防ぐためにconfig.xmlを使用しないでください。代わりに、xCodeのボックスにチェックマークを付けます(左側のナビゲーション列でプロジェクトタイトルをクリックし、[ターゲット]ヘッダーの下でアプリを選択して、アイコンセクションまでスクロールします)。


config.xmlにファイル名を残さないと、phonegapビルドサービスでビルドが中断されませんか?これは、ローカルビルドがconfig.xmlを無視しているためにのみ機能します。phonegapがそれを読むことにした場合はどうなりますか?ある種のビルドプロセスでこれらのファイルをコピーすることをお勧めします。
Markus

1
こんにちはMarkus、私はPhonegap Buildサービスの経験がありません(私がそれを簡単に失敗した試みをしたときにそれが困惑していたことを除いて)。だから私はあなたのコメントを判断することはできませんが、私はあなたの言葉を受け入れます。したがって、私の答えは、独自のビルドを行う人のみを対象としています。
Wytze 2014

1
この回答は古くなっています(ただし、3.0.0では機能します)。これを処理するために、もはや手作業のプロセスは必要ありません。チェックエッジドキュメントと私の答えここstackoverflow.com/a/31674547/82609
セバスチャン・ローバー

46

FAQ:アイコン/スプラッシュ画面(Cordova 5.x / 2015)

アイコン/スプラッシュ画面を扱うときに遭遇した多くの問題を解決するのに役立つ一般的なFAQとして私の答えを提示します。私のように、ドキュメントが常に明確でなく、最新であるとは限らないことに気付くかもしれません。利用可能な場合、これはおそらくStackOverflowのドキュメントに移動します。

最初に:質問に答える

phonegapを使用してiOSおよびAndroid用のカスタムアプリアイコンを追加するにはどうすればよいですか?

お使いのバージョンのCordovaでは、iconタグは役に立ちません。Cordova3.0.0でも文書化されていません。最新のものではなく、使用しているCLIに適合するドキュメントバージョンを使用する必要があります。

アイコンタグは、私はドキュメントの異なるバージョンで見ることができる内容に応じて、バージョン3.5.0の前に、すべてのAndroidのために動作しません。3.4.0でも、ファイルを手動でコピーすることをお勧めします

新しいバージョンの場合config.xml新しいCordovaバージョンの方が見栄えが良くなります。ただし、知りたいことがまだたくさんあります。ここでアップグレードすることにした場合、変更するのに役立つことがいくつかあります。

  • gap:名前空間は必要ありません
  • あなた<preference name="SplashScreen" value="screen" />はAndroidのために必要です

アイコンやスプラッシュ画面を処理するときに自分自身に尋ねる可能性のある質問の詳細は次のとおりです。

古いバージョンのCordova / Phonegapを使用できますか?

いいえ、アイコン/スプラッシュスクリーン機能は以前のバージョンのCordovaにはなかったため、最新バージョンを使用する必要があります。以前のバージョンでは、Phonegap Buildのみがアイコン/スプラッシュ画面を処理したため、ローカルでのビルドとアイコンの処理はフックを使用した場合にのみ可能でした。この機能を使用するための最小バージョンはわかりませんが、5.1.1では、Cordova / Phonegapcliの両方で正常に機能します。Cordova 3.5では、それは私には機能しませんでした。

編集:Androidの場合、少なくとも3.5.0を使用する必要があります

アイコンに関するビルドプロセスをデバッグするにはどうすればよいですか?

cliはCPコマンドを使用します。無効なアイコンパスを指定すると、cpエラーが表示されます。

sebastien@sebastien-xps:cordova (dev *+$%)$ cordova run android --device
cp: no such file or directory: /home/sebastien/Desktop/Stample-react/cordova/res/www/stample_splash.png

編集cordova build <platform> --verboseアイコンがコピーされる場所を確認するために、cpコマンドの使用状況のログを取得するために使用できます

アイコンは、構成に従ってフォルダーに配置する必要があります。私にとって、それは次の多くのサブフォルダーに入ります:platforms/android/build/intermediates/res/armv7/debug/drawable-hdpi-v4/icon.png

次に、APKを見つけて、zipアーカイブとして開き、アイコンが存在することを確認します。Android専用のフォルダなres/drawable*ので、フォルダ内にある必要があります。

プロジェクトのどこにアイコン/スプラッシュ画面を配置する必要がありますか?

多くの例では、アイコン/スプラッシュ画面がresフォルダー内で宣言されていることがわかります。これresは出力APKの特別なAndroidフォルダーですがres、プロジェクトでフォルダーを使用する必要があるという意味ではありません。

アイコンはどこにでも配置できますが、使用するパスはプロジェクトのルートを基準にしている必要があり、www注意しないでください。これは文書化されていますが、すべての例が使用されてresおり、このフォルダーがどこにあるかわからないため、明確ではありません:(

つまり、アイコンを配置する場合www/icon.pngwww、絶対にパスに含める必要があります。

2016年3月の編集:バージョンをアップグレードした後、アイコンはwwwフォルダーに関連しているように見えますが、ドキュメントは変更されていません(問題

DOESの<icon src="icon.png"/>作品?

いいえ、違います!

Androidでは、以前は(密度属性がまだサポートされていなかったとき)機能していたようですが、現在は機能していません。このコルドバの問題を参照してください

iOSでは、このグローバル宣言を使用すると、より具体的な宣言が上書きされる可能性がある--verboseため、すべてが期待どおりに機能するように注意して構築してください。

すべての密度に同じアイコン/スプラッシュ画面ファイルを使用できますか?

はい、できます。アイコンとスプラッシュ画面の両方に同じファイルを使用することもできます(テストのためだけに!)。65kbの「大きな」アイコンファイルを問題なく使用しました。

プラットフォームタグとプラットフォーム属性を使用する場合の違いは何ですか

<icon src="icon.png" platform="android" density="ldpi" />

と同じです

<platform name="android">
    <icon src="www/stample_icon.png" density="ldpi" />
</platform>

Phonegapを使用している場合、gap:名前空間を使用する必要がありますか?

私の経験では、PhonegapまたはCordovaの新しいバージョンはどちらも、gap:xml名前空間を使用せずにアイコン宣言を理解できます。

しかし、私はまだここで有効な答えを待っています:cordova / phonegapプラグインはVSconfig.xmlを追加します

私の知る限り、gap:名前空間を持ついくつかの機能は、PhonegapBuildで、次にPhonegapで、そしてCordova(?)に移植される前に利用できる可能性があります。

される<preference name="SplashScreen" value="screen" />必要?

少なくともAndroidの場合はそうです。追加の説明で問題を開きまし

アイコン宣言の順序は重要ですか?

はい、そうです!私のテストによると、Androidには影響がないかもしれませんが、iOSには影響があります。これは予期しない、文書化されていない動作であるため、別の問題を開きました。

必要cordova-plugin-splashscreenですか?

はい、これはスプラッシュ画面を機能させたい場合は絶対に必要です。ドキュメントが明確ではなく(問題)、プラグインはスプラッシュ画面のjavascriptAPIを提供するためにのみ必要であると考えてみましょう。

すべての幅/高さ/密度の画像のサイズをすばやく変更するにはどうすればよいですか

それを行うのに役立つツールがあります。私にとって最適なのはhttp://makeappicon.com/ですが、メールアドレスを入力する必要があります。

他の可能な解決策は次のとおりです。

設定例を教えてください。

はい。これが私の本当ですconfig.xml

<?xml version='1.0' encoding='utf-8'?>
<widget id="co.x" version="0.2.6" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:gap="http://phonegap.com/ns/1.0">
    <name>x</name>
    <description>
        x
    </description>
    <author email="info@x.co" href="https://x.co">
        x
    </author>
    <content src="index.html" />
    <preference name="permissions"                  value="none" />
    <preference name="webviewbounce"                value="false" />
    <preference name="StatusBarOverlaysWebView"     value="false" />
    <preference name="StatusBarBackgroundColor"     value="#0177C6" />
    <preference name="detect-data-types"            value="true" />
    <preference name="stay-in-webview"              value="false" />
    <preference name="android-minSdkVersion"        value="14" />
    <preference name="android-targetSdkVersion"     value="22" />
    <preference name="phonegap-version"             value="cli-5.1.1" />

    <preference name="SplashScreenDelay"            value="10000" />
    <preference name="SplashScreen"                 value="screen" />


    <plugin name="cordova-plugin-device"                spec="1.0.1" />
    <plugin name="cordova-plugin-console"               spec="1.0.1" />
    <plugin name="cordova-plugin-whitelist"             spec="1.1.0" />
    <plugin name="cordova-plugin-crosswalk-webview"     spec="1.2.0" />
    <plugin name="cordova-plugin-statusbar"             spec="1.0.1" />
    <plugin name="cordova-plugin-screen-orientation"    spec="1.3.6" />
    <plugin name="cordova-plugin-splashscreen"          spec="2.1.0" />

    <access origin="http://*" />
    <access origin="https://*" />

    <access launch-external="yes" origin="tel:*" />
    <access launch-external="yes" origin="geo:*" />
    <access launch-external="yes" origin="mailto:*" />
    <access launch-external="yes" origin="sms:*" />
    <access launch-external="yes" origin="market:*" />

    <platform name="android">
        <icon src="www/stample_icon.png" density="ldpi" />
        <icon src="www/stample_icon.png" density="mdpi" />
        <icon src="www/stample_icon.png" density="hdpi" />
        <icon src="www/stample_icon.png" density="xhdpi" />
        <icon src="www/stample_icon.png" density="xxhdpi" />
        <icon src="www/stample_icon.png" density="xxxhdpi" />
        <splash src="www/stample_splash.png" density="land-hdpi"/>
        <splash src="www/stample_splash.png" density="land-ldpi"/>
        <splash src="www/stample_splash.png" density="land-mdpi"/>
        <splash src="www/stample_splash.png" density="land-xhdpi"/>
        <splash src="www/stample_splash.png" density="land-xhdpi"/>
        <splash src="www/stample_splash.png" density="land-xhdpi"/>
        <splash src="www/stample_splash.png" density="port-hdpi"/>
        <splash src="www/stample_splash.png" density="port-ldpi"/>
        <splash src="www/stample_splash.png" density="port-mdpi"/>
        <splash src="www/stample_splash.png" density="port-xhdpi"/>
        <splash src="www/stample_splash.png" density="port-xxhdpi"/>
        <splash src="www/stample_splash.png" density="port-xxxhdpi"/>
    </platform>

    <platform name="ios">
        <icon src="www/stample_icon.png" width="180" height="180" />
        <icon src="www/stample_icon.png" width="60" height="60" />
        <icon src="www/stample_icon.png" width="120" height="120" />
        <icon src="www/stample_icon.png" width="76" height="76" />
        <icon src="www/stample_icon.png" width="152" height="152" />
        <icon src="www/stample_icon.png" width="40" height="40" />
        <icon src="www/stample_icon.png" width="80" height="80" />
        <icon src="www/stample_icon.png" width="57" height="57" />
        <icon src="www/stample_icon.png" width="114" height="114" />
        <icon src="www/stample_icon.png" width="72" height="72" />
        <icon src="www/stample_icon.png" width="144" height="144" />
        <icon src="www/stample_icon.png" width="29" height="29" />
        <icon src="www/stample_icon.png" width="58" height="58" />
        <icon src="www/stample_icon.png" width="50" height="50" />
        <icon src="www/stample_icon.png" width="100" height="100" />
        <splash src="www/stample_splash.png" width="320" height="480"/>
        <splash src="www/stample_splash.png" width="640" height="960"/>
        <splash src="www/stample_splash.png" width="768" height="1024"/>
        <splash src="www/stample_splash.png" width="1536" height="2048"/>
        <splash src="www/stample_splash.png" width="1024" height="768"/>
        <splash src="www/stample_splash.png" width="2048" height="1536"/>
        <splash src="www/stample_splash.png" width="640" height="1136"/>
        <splash src="www/stample_splash.png" width="750" height="1334"/>
        <splash src="www/stample_splash.png" width="1242" height="2208"/>
        <splash src="www/stample_splash.png" width="2208" height="1242"/>
    </platform>

    <allow-intent href="*" />
    <engine name="browser" spec="^3.6.0" />
    <engine name="android" spec="^4.0.2" />
</widget>

例の良い情報源はスターターキットです。同様PhoneGapの開始またはイオンスターター


2
アプリアイコン、スプラッシュスクリーン、プレビュー生成https://github.com/mmacmillan/cordova-imagingを処理する小さなcliユーティリティ(他の多くのユーティリティの中でも)を構築しました。これについては、構成ファイルによって駆動されるため、十分に文書化されています。サイズ/寸法/場所、およびプラットフォーム固有のドキュメントへのリンクが含まれています。これはあなたが提供するのに時間をかけた詳細な答えを補足するのに役立つかもしれません
Mike MacMillan 2015

私はこれをすべて行いました。Cordova5.1では、前述のようにファイルが.apkにコピーされますが、それでもタブレットに新しいアイコンが表示されません。何か案は?
Gringo Suave 2015

実行する必要があるのは、古いバージョンのアプリをアンインストールしてから、新しいバージョンをインストールすることです。その後、タブレットは何かが変わったことに気づきました。だから、新しいアイコンを手に入れることができました。
Gringo Suave 2015

1
なんて素晴らしい答えでしょう。私はあなたの提案を使用してcordova build android --verbose私の問題を特定して解決しました。ありがとう!
サラ

いい答えSebastien;)親指を立てる
Alaeddine 2016年

32

Cordova 3.5.0-0.2.6以降、<icon />config.xmlの要素は次の警告で機能します。

  1. src属性には、プロジェクトのルートフォルダへの相対パスです。この問題に関する問題追跡システムは、変更の理由を説明します。

  2. <icon src="..." />解像度/解像度なしの要素は、デフォルトアイコンとしてすべてのプラットフォームで使用されるアイコンとして文書化されています。ただし、Androidビルドでは、デフォルトのアイコンは、特定の解像度が設定されていないAndroidドローアブルフォルダーにのみコピーされます。これにより、カスタムアイコンが/res/drawableフォルダーに表示され、特定の解像度のコルドバのデフォルトアイコンが、最終的なapk(つまり/res/drawable-ldpi)内の他のフォルダーに存在します。config.xmlAndroidプラットフォームの解像度ごとに1つのアイコン要素を追加する必要があります。

たとえば、アイコン画像がwww/res/img/icon.pngルートプロジェクトからの相対パスにある場合、この行config.xmlはAndroidのアプリアイコンを機能させます。

<!-- Default application icon -->
<icon src="www/res/img/icon.png" />
<!--
    Default icon should work, but cordova don't overwrite
    the default on all densities
-->
<icon src="www/res/img/icon.png" platform="android" density="ldpi" />
<icon src="www/res/img/icon.png" platform="android" density="mdpi" />
<icon src="www/res/img/icon.png" platform="android" density="hdpi" />
<icon src="www/res/img/icon.png" platform="android" density="xhdpi" />

この構成を適切に行うと、すべての解像度に対して単一の画像アイコンを使用して、デフォルトのコルドバアイコンを上書きし、カスタムフックを使用する必要がなくなります。単に構築するだけでcordova build androidうまくいくはずです。


問題2のバグレポートリンクはありますか?私は新しいプロジェクトでこの問題にぶつかったばかりで、最初は混乱しました。進捗状況を追跡して、可能であればいつ修正されるかを知りたいと思います。乾杯。
マイク

omgはついにそれを機能させました!ありがとうございますdensity。私はに変更<icon gap:platform="android" gap:qualifier="ldpi" src="www/res/icon/android/icon-36-ldpi.png" />しました<icon gap:platform="android" density="ldpi" src="www/res/icon/android/icon-36-ldpi.png" />
Tha Leang

@Ronoaldo Periera your'e my savior !! 各密度の<icon ..>タグ!鮮やかさ!!
ヒッツ2015年

デフォルトのアイコンsrcはAndroidではうまく機能しないため、実際には無視されます。ここで私の答えを確認してください: stackoverflow.com/a/31674547/82609
Sebastien Lorber 2015

8

あなたがローカルでビルドするときに自動的にアイコンを追加するための使いやすい方法をしたい場合は(cordova emulate ioscordova run androidなど)は、この主旨を見て:

https://gist.github.com/LinusU/7515016

うまくいけば、これは将来いつか箱から出して動作し始めるでしょう、ここにCordovaプロジェクトの関連するバグレポートがあります:

https://issues.apache.org/jira/browse/CB-2606


Linusは私の答えで説明されているように、はい、今は機能していますが、いくつかのものが壊れているようです。stackoverflow.com
a / 31674547/82609

4

アイコンファイルを配置するconfig.xmlファイルを作成する必要があります

<?xml version="1.0" encoding="ISO-8859-1" ?>
<widget xmlns = "http://www.w3.org/ns/widgets"
   xmlns:gap = "http://phonegap.com/ns/1.0"
   id        = "example"
   version    = "1.0.0">

   <icon src="icon.png" />
</widget>

これをチェックして: https //build.phonegap.com/docs/config-xml

iOS固有のアイコンがあります


私の設定ファイルにはすでにすべてのアイコンが含まれています。新しいphonegapプロジェクトを作成するときにデフォルトで作成されます
Markus

2
動作しません。PGビルドで動作しましたが、Cordova 3.x cliはconfig.xmlで指定されたアイコンを考慮していません(ルートのicon.pngとscreen.pngも考慮していません)。また、この質問への答えを探しています。
lefnire 2013

うんconfig.xmlはPhoneGapビルド専用です!誰もがこれを行う方法を知っていますか?!
マイケル

Cordova 3.5.0-0.2.6では、アイコンのサポートが機能しますが、Androidではいくつかの注意点があります。詳細については私の答えを参照してください。
ロノアルドペレイラ2014

4

ここでの回答のほとんどはiOSを対象としているため、Androidでアイコンを変更するためのソリューションがあります。

アンドロイド用:

<プロジェクトの場所> \ platform \ android \ resではなく<プロジェクトの場所> \ platform \ android \ ant-build \ resで変更を加えます

後者の場所で変更を加えた人にとってはうまくいったかもしれませんが、Phonegapが\ android \ resから\ android \ ant-build \ resにコピーしていることに気付いたので、そこにチェックインして、デフォルトを含む別の描画可能なフォルダーのセットを見つけました。 phonegapアイコン。

それらを変えることはついに働いた。

私はローカルでビルドして実行しており、Adobe PhoneGap Buildを使用していないため、<プロジェクトの場所> \ www \ res \ icon \ androidのアイコンを変更しても機能しませんでした。


3

phonegap 3.1.0-0.15.0を実行しています。iOS7で解像度が120x120pxに変更されたため、これらのサイズのファイルをプロジェクトに追加してから、info.plistファイルを変更しました。

  1. Xcodeでプロジェクトファイルを右クリックし、[ファイルを[[プロジェクト名]]に追加]を選択して、120x120ファイルをプロジェクトに追加します。
  2. Xcode 「Resources / [YourProjectName] -info.plist」のinfo.plistファイルに移動します
  3. 下で「アイコンファイル(iOSの5)/プライマリアイコン/アイコンは、ファイル」の変化を「項目2」をお使いのファイルが(私は側面に沿って、プロジェクトフォルダに配置された「アイコン-120.png他のすべてのアイコンの鉱山と呼ばれていたものは何でもファイル名に、これは問題ではありませんが)

詳細については、こちらをご覧ください。 ご覧ください http //www.digifloor.com/missing-recommended-icon-file-error-ios-app-13

iOSのスプラッシュ画面を修正するために、同じサイズと同じファイル名の新しいファイルを貼り付けて、古いファイルを上書きしました。Xcodeのメニューバー(ショートカットShift + Command + K)で[製品]> [クリーン]に移動することを忘れないでください。正常に機能するはずです。:)


3

cordova 3.3.1-0.1.2では、期待される動作が正しく機能していません。

http://cordova.apache.org/docs/en/3.3.0/config_ref_images.md.html#Icons%20and%20Splash%20Screens

元のカスタマイズ可能なconfig.xmlで指定された方法(選択したファイルを指す方法ではなく、特定の命名規則に従うresおよびiconsというフォルダー内のメインのwwwフォルダーにそれらを配置することになっていることを明確に示しています。これは/はるかに優れていました)。その後、プラットフォームごとにそこから取得して、platforms /?android?/ res / drawable-?dpi / icon.pngに配置する必要がありますが、現時点ではそのような正しい動作はありません...バグ。

そのため、プラットフォームごとに手動で配置する必要があると思います。もちろん、それをwwwフォルダーに再度複製することから削除する必要があります。私にとっては、とにかくメインのwwwフォルダーのコンテンツを完全に置き換える必要がありました。リダイレクトindex.htmlをハッキングして奇妙なランダムフォルダーを見つけることなく、helloworldでさえ機能しなかったからです。wwwの横にresフォルダーを配置するのが最も理にかなっていますが、この一連のカスケードおよび混乱する設計の選択/欠陥が原因で、私にとってはどう思われるかはわかりません。


2

場合によっては、cordovaの内部スクリプトがアイコンを正しいフォルダーに配置しないため、独自のアイコンの代わりにf *** cordovaロボットが表示されます。

フックスクリプトを利用してください。;)

three-hooks-your-cordovaphonegap-project-needs

フックフォルダーに「after_platform_add」フォルダーを作成し、devgirlから最後のスクリプトを配置/変更します。

Linuxで、スクリプトの実行権を設定することを忘れないでください "chmod 777 <script>"

幸運を!


1

私がしたことは、config.xmlに以下の行を追加しただけです <icon src="www/img/appIcon.png" />

そしてそれは完全にうまくいきました


Thx男。res / icon.pngに1つのアイコンを配置しようとしましたが(ドキュメントの例のように...)、iOSでは機能しませんでした。私はついにその紛らわしい「res」フォルダをあきらめて、あなたが提案したように「www」の下にアイコンを置きました、そしてそれは私にとっても魅力のように働きました!これはCordova6.0.0で機能します。iOSプラットフォーム。
firepol 2016

1

このコードをconfig.xmlファイルに追加するだけです

<icon src="path to your icon image">

例えば:

<icon src="icon.png">

常に.png拡張子を使用する必要があることを忘れないでください


png画像を使用してみてください
Jobincs 2016年

0

私はまた、これがどのようにつながるのかを理解しようとしている最中です。

これがXCodeでこれまでに見つけたものですが、私の仮定が正しければ、修正または確認されることを望んでいます。アイコンを正しく適用する、cordovaからxcodeへのすぐに使えるビルドは見つかりませんでした。あなたと同じように、config.xmlにリストされているすべてのアイコンを更新しましたが、サイコロは更新していません。

そう...

まず、通常、プロジェクトのルートにあるconfig.xmlを「www」フォルダーにあるものに更新します(これは、www / config.xmlに優先順位があるかどうか、または適用されているかどうかの不確実性から行います)。

次に、プロジェクトの「ビルドフェーズ」を更新します。「バンドルリソースのコピー」を展開すると、「リソース/アイコン」、「リソース/スプラッシュ」のすべての画像に気づきました。次のいずれかを実行できます。

  • 画像が上書きされないように、これらをすべて削除するか、
  • これらすべての画像を独自のもので更新します(リストされている画像名に名前を変更します)

私がこれを解決していたとき、「概要」タブから最小限の画像を更新できるかもしれません。

resフォルダから[概要]タブの適切な画像に画像をドラッグアンドドロップします。(res / icon / ios->アプリアイコンおよびres / screen / ios->起動画像)。私のアプリはiPhone専用なので、iPhone専用です。光沢を表示したくない場合は、「prerendered」をチェックしてください。

次に、プロジェクトのplistファイルPROJECT_NAME-Info.plistまたはプロジェクトターゲットを確認するときに[情報]タブで参照されている「icon.png」を更新します。名前を「icon-57.png」に変更します(これは現在プロジェクトルートにあり、ドラッグアンドドロップを実行すると自動的にルートに追加されます。

ビルドすると、アプリのアイコンが更新されます。


私はCordova3.0.3でプロジェクトをビルドしましたが、phonegapビルドでも同じだと思います。
サムツァイ2013

0

config.xmlをSebastianの例のように変更したことに注意してください。

特にローカルビルドを行わない場合に、これらすべてのデバッグにも役立つものは、PhoneGapクラウドからビルドされたXAP / IPA / APKファイルをダウンロードし、それぞれにフォルダーを作成することです。各ファイルの名前を.ZIP拡張子に変更し、それぞれの内容をそれぞれのフォルダーに抽出します。つまり、基本的に、電話に出荷されるパッケージの内容を確認できます。

これを行うと、Microsoft Phoneプラットフォームの場合、アイコンまたはスプラッシュ画面を置き換える試みをすべて無視していることがわかります。次に、ApplicationIcon.pngとSplashScreenImage.jpgを置き換えてから、フォルダーセットを再圧縮し、名前を.XAPファイルに変更すると、携帯電話に展開でき、完全に機能します。どういうわけか、PhoneGapビルドを取得してicon.pngとicon.jpgをこれらの2つのファイルに変換する方法があります。おそらく、Masoodの提案はここでの可能性であり、フックスクリプトを利用します。

.IPAファイル(iOS)に対して同じことを行うと、wwwの上の親レベルにicon-something.pngのようないくつかのファイルが作成されます。それらはすべて空白のように見えます。

.APKファイル(Android)に対して同じことを行うと、res / drawable-somethingのフォルダーのセットになり、それぞれに私のicon.pngがあるように見えます。それは私が現時点で主張できる成功に最も近いものです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.