Як додати піктограму програми в проекти fonegap?


85

Я створив новий проект fonegap (v 3.0.0-0.14.0) із типовим config.xml, а потім додав платформи iOS та Android.

Конфігурація містить усі шляхи до всіх піктограм платформи.

Я перезаписав піктограми за замовчуванням для iOS та Android, щоб шлях та ім'я все ще відповідали цим PNG.

Під час роботи в симуляторі значки не відображаються. Я шукав його в xCode, де він повідомляє, що папка "Ресурси" для піктограм все ще містить значки за замовчуванням для фонегапу. Те саме з Android.

Що я роблю не так?

Як я можу додати власні піктограми програм для 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/…
Маркус

Маркус правий, його коментар повинен бути відповіддю
drodsou

1
Я витратив час на поширені запитання про все, що ви повинні знати для налагодження / роботи піктограм (cordova 5.1.1). Перевірити stackoverflow.com/a/31674547/82609
Себастьян Лорбер

Відповіді:


67

На щастя, в документації є трохи інформації про сплеск-зображення, що допомогло мені знайти правильне місце для зображень значків. Отже, справа йде.

Де розміщуються файли Після того, як ви створили свій проект за допомогою інтерфейсу командного рядка "cordova build ios", ви повинні мати повну структуру файлів для вашого додатка iOS у platforms/ios/папці.

Усередині цієї папки знаходиться папка з назвою вашого додатка. Який, у свою чергу, містить resources/каталог, де ви знайдете папки icons/та splashscreen/.

У папці значків ви знайдете чотири файли значків (для 57px та 72 px, кожен у звичайній версії та @ 2x). Це піктограми-заповнювачі Phonegap, які ви бачили досі.

Що робити

Все, що вам потрібно зробити, це зберегти файли значків у цій папці. Отже, це:

YourPhonegapProject/Platforms/ios/YourAppName/Resources/icons

Те саме стосується файлів заставки.

Примітки

  1. Помістивши туди файли, відновіть проект за допомогою cordova build iosІ використовуйте команду меню xCode 'Очистити продукт'. Без цього ви все одно побачите заповнювачі Phonegap.

  2. Найрозумніше перейменовувати файли способом iOS / Apple (тобто icon-72@2x.png тощо), замість того, щоб редагувати імена у списку info.plist або config.xml. Принаймні це спрацювало у мене.

  3. І, до речі, ігноруйте дивний шлях та дивне ім'я файлу, вказане для піктограм у config.xml (тобто <icon gap:platform="ios" height="114" src="res/icon/ios/icon-57-2x.png" width="114" />). Я просто залишив ці визначення там, і значки з’явилися чудово, хоча мій значок 114px був названий icon@2x.pngзамість icon-57-2x.png.

  4. Не використовуйте config.xml, щоб запобігти ефекту блиску Apple на піктограмі. Натомість поставте прапорець у xCode (клацніть заголовок проекту в лівому навігаційному стовпці, виберіть програму під заголовком Ціль і прокрутіть вниз до розділу піктограм).


чи не залишити імена файлів у config.xml порушити збірку за допомогою служби побудови phonegap? це працює лише тому, що локальна збірка ігнорує config.xml. що якщо фонегап вирішить його прочитати? Я б запропонував скопіювати ці файли за допомогою якогось процесу збірки.
Маркус

1
Привіт Маркусе, я не маю досвіду роботи із службою Phonegap Build (за винятком того, що це бентежило мене, коли я спробував недовго та невдало) Тож я не можу судити про ваш коментар, але вірю вам на слово. Тому моя відповідь спрямована лише на тих, хто робить власні збірки.
Wytze

1
Ця відповідь застаріла (але працює для 3.0.0). Для цього вже не потрібен жоден мануельний процес. Перевірте крайній документ і мою відповідь тут stackoverflow.com/a/31674547/82609
Себастьян Лорбер

46

Поширені запитання: ЕКРОН ІКОНИ / РОЗРЯЗУ (Кордова 5.x / 2015)

Я представляю свою відповідь як загальний FAQ, який може допомогти вам вирішити багато проблем, з якими я стикався під час роботи з піктограмами / заставками. Ви можете дізнатися, як і я, що документація не завжди є дуже чіткою та актуальною. Ймовірно, це перейде до документації StackOverflow, коли вона буде доступна.

Перший: відповідь на запитання

Як я можу додати власні піктограми програм для iOS та Android із фонегапом?

У вашій версії Кордоваicon тег марно. Це навіть не задокументовано в Cordova 3.0.0. Вам слід використовувати версію документації, яка відповідає користувачеві, а не останню!

Значок Тег не працює для Android взагалі до версії 3.5.0 в відповідно до тим, що я можу бачити в різних версіях документації. У 3.4.0 вони все ще радять копіювати файли вручну

У новіших версіях : config.xmlвиглядає краще для нових версій Cordova. Однак є ще багато речей, які ви можете захотіти знати. Якщо ви вирішите оновити, ось кілька корисних речей для модифікації:

  • Вам не потрібен gap:простір імен
  • Вам потрібен <preference name="SplashScreen" value="screen" />Android

Ось докладніші запитання, які ви можете задати собі, намагаючись мати справу з піктограмами та заставним екраном:

Чи можу я використовувати стару версію Cordova / Phonegap

Ні, функція піктограми / заставки не була у попередніх версіях Кордови, тому ви повинні використовувати останню версію. У попередніх версіях лише Phonegap Build працював з піктограмами / заставним екраном, тому побудова локально та обробка піктограм була можлива лише за допомогою гачка. Я не знаю мінімальну версію для використання цієї функції, але з 5.1.1 він прекрасно працює в обох Cordova / Phonegap cli. З 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-архів, щоб перевірити наявність піктограм. Вони повинні бути в res/drawable*папці, оскільки це спеціальна папка для Android.

Куди слід помістити піктограми / заставки у своєму проекті?

У багатьох прикладах ви знайдете, що піктограми / заставки відображаються в resпапці. Це resспеціальна папка Android у вихідному файлі .apk, але це не означає, що вам потрібно використовувати resпапку у своєму проекті.

Ви можете розмістити свою піктограму куди завгодно, але шлях, який ви використовуєте, повинен бути відносно кореня проекту , і не wwwтак подбайте! Це задокументовано, але не чітко, оскільки використовуються всі приклади, resі ви не знаєте, де знаходиться ця папка :(

Я маю на увазі, якщо ви покладете піктограму в www/icon.pngвас, абсолютно необхідно включити wwwу ваш шлях.

Редагувати Mars 2016 : після оновлення моїх версій тепер здається, що піктограми відносяться до wwwпапки, але документація не була змінена ( випуск )

Працює <icon src="icon.png"/>?

Ні, це не є! .

На Android, здається, раніше це працювало (коли атрибут щільності ще не підтримувався?), Але більше не. Дивіться цей випуск Кордови

У iOS, здається, використання цієї глобальної декларації може замінити більш конкретні декларації, тому подбайте і будуйте, --verboseщоб переконатися, що все працює належним чином.

Чи можу я використовувати той самий файл піктограми / заставки для всіх щільностей.

Так, ти можеш. Ви навіть можете використовувати один і той же файл як для піктограми, так і для початкового екрана (лише для перевірки!). Я без проблем використав "великий" файл піктограм розміром 65 кб.

Яка різниця при використанні тегу платформи проти атрибута платформи

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

це те саме, що

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

Чи слід використовувати пробіл: імена, якщо використовую Phonegap?

З мого досвіду, нові версії Phonegap або Cordova здатні розуміти оголошення піктограм без використання gap:простору імен xml.

Однак я все ще чекаю дійсної відповіді тут: плагін cordova / phonegap додав VS config.xml

Наскільки я розумію, деякі функції з gap:простором імен можуть бути доступні раніше у PhonegapBuild, потім у Phonegap, а потім переносяться в Кордову (?)

Є чи <preference name="SplashScreen" value="screen" />потрібно?

Принаймні для Android так. Я відкрив випуск із додатковими поясненнями.

Чи має значення порядок декларації значків?

Так! За моїми тестами, це може не мати ніякого впливу на Android, але на iOS. Це несподівана поведінка без документів, тому я відкрив інше питання .

Мені потрібно cordova-plugin-splashscreen?

Так, це абсолютно необхідно, якщо ви хочете, щоб спрацьовуючий екран працював. Документація незрозуміла ( проблема ), і давайте будемо думати, що плагін потрібен лише для того, щоб запропонувати API-інтерфейс javascript із заставкою.

Як я можу швидко змінити розмір зображень на всю ширину / висоту / щільність

Для цього вам допоможуть інструменти. Найкращий для мене - 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>

Хорошим джерелом прикладів є стартові набори. Як фонегап-старт або іонічний стартер


2
я створив невелику утиліту cli (серед багатьох інших), яка обробляє піктограму програми, заставку екрана та генерацію попереднього перегляду https://github.com/mmacmillan/cordova-imaging , я згадую про це, оскільки це зумовлено файлом конфігурації, який добре задокументований розміри / розміри / розташування та містить посилання на конкретну документацію платформи; це може допомогти доповнити детальну відповідь, яку ви знайшли час дати
Mike MacMillan

Я зробив усе це за допомогою Cordova 5.1, файли копіюються в .apk, як ви вже згадали, але планшет все одно не відображає нову піктограму. Будь-які ідеї?
Gringo Suave

Потрібно було видалити стару версію програми, а потім встановити нову версію. Потім планшет помітив, що щось змінилося. Отже, я зміг отримати нову піктограму.
Gringo Suave

1
Яка фантастична відповідь! Я використав вашу пропозицію cordova build android --verboseдля виявлення та вирішення моєї проблеми. Дякую!
Сара

Приємна відповідь Себастьєн;) великі пальці вгору
Алаеддін

32

Починаючи з Cordova 3.5.0-0.2.6, <icon />елемент у config.xml працює з наступними застереженнями:

  1. srcАтрибут представляє собою шлях щодо кореневої папки проекту. Причина, за якою змінилася проблема відстеження проблеми щодо цієї проблеми.

  2. <icon src="..." />Елемент без дозволу / точок на дюйм документована в якості значка використовується для всіх платформ , як значок за замовчуванням. Однак у збірках android піктограма за замовчуванням копіюється лише в папку для малювання android, без встановлених певних дозволів. Це змушує вас відображатись власні піктограми в /res/drawableпапці, а піктограма за замовчуванням cordova із певною роздільною здатністю існує в інших папках всередині остаточного apk (тобто /res/drawable-ldpi). Ви повинні додати один елемент піктограми config.xmlдля кожного дозволу на платформі android.

Наприклад, якщо зображення вашого значка знаходиться у шляху 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? Я щойно вразив цю проблему в новому проекті, і це спочатку мене спантеличило. Хотів би стежити за прогресом, щоб знати, коли це виправлено, якщо це можливо. Ура.
Mike

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 spasitelj !! тег <icon ..> для кожної щільності! блискуче !!
Hittz

Значок за замовчуванням src погано працює для Android, тому насправді його ігнорують! Перевірте мою відповідь тут: stackoverflow.com/a/31674547/82609
Себастьян Лорбер

8

Якщо ви хочете простий у використанні спосіб додати значки автоматично при створенні локально ( cordova emulate ios, cordova run androidі т.д.), подивіться на цю суть:

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

Сподіваємось, це почне працювати нестандартно колись у майбутньому, ось відповідний звіт про помилки щодо проекту в Кордові:

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


Лінус, як це пояснюється у моїй відповіді, так, зараз це працює, але, здається, він також зламав деякі речі, перевірте 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


мій конфігураційний файл уже містить усі піктограми. він створюється за замовчуванням при створенні нового проекту фонегапу
Маркус

2
Не працює. Він працював з PG Build, але Cordova 3.x cli не бере до уваги значки, зазначені в config.xml (ані icon.png & screen.png у кореневій формі). Також шукаю відповідь на це питання.
lefnire

Yup config.xml призначений лише для PhoneGap Build! хтось знає, як це зробити ?!
Michael

На Cordova 3.5.0-0.2.6 підтримується підтримка іконок, з деякими застереженнями на Android. Детальніше див. У моїй відповіді.
Роноальдо Перейра

4

Оскільки більшість відповідей тут спрямовані на iOS, ось рішення для зміни значка в Android.

Для android:

Внесіть зміни в <місце розташування проекту> \ platform \ android \ ant-build \ res, а не в <розташування проекту> \ platform \ android \ res

Для деяких людей, які вносили зміни в останньому розташуванні, можливо, це працювало, але, помітивши, що Фонегап копіює з \ android \ res в \ android \ ant-build \ res, я вирішив зареєструватися там і знайшов окремий набір папок, які можна малювати, що містять типову фонегап значок.

Зміна тих, нарешті, спрацювала.

Оскільки я будую та запускаю локально, а не використовую Adobe PhoneGap Build, зміна значків у <місце розташування проекту> \ www \ res \ icon \ android теж не спрацювала.


3

У мене працює phonegap 3.1.0-0.15.0, оскільки iOS7 змінив роздільну здатність на 120x120px, я щойно додав до проекту файл із цими розмірами, а потім змінив файл info.plist.

  1. Додайте файл 120x120 до проекту, клацнувши правою кнопкою миші файл проекту в Xcode та вибравши пункт "Додати файли до" [Назва вашого проекту] "...
  2. Перейдіть до файлу info.plist у Xcode "Ресурси / [Назва вашого проекту] -info.plist"
  3. У розділі "Файли піктограм (iOS 5) / Основні файли піктограм / піктограм" змініть "Елемент 2" на будь-яке ім'я вашого файлу (я його назвав своїм "icon-120.png, який я розмістив у папці" Проект "уздовж усіх інших піктограм , хоча це не повинно мати значення)

Більш детальну інформацію можна знайти тут: http://www.digifloor.com/missing-recommended-icon-file-error-ios-app-13

Щоб виправити заставку в iOS, я просто вставив нові файли з однаковими розмірами та однаковими іменами файлів, замінивши старі. Тільки не забудьте перейти до Продукт> Очистити в рядку меню в Xcode (ярлик Shift + Command + K), і він повинен працювати нормально! :)


3

У кордові 3.3.1-0.1.2 очікувана поведінка не працює належним чином.

в

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

у ньому чітко зазначено, що ви хочете помістити їх у свою основну папку www у папці з назвою res та піктограми, що відповідають певній умові іменування замість оригінального настроюваного config.xml вказаного способу (в якому ви вказуєте на вибраний вами файл, що було / набагато краще). тоді він повинен взяти звідти для кожної платформи і помістити їх на платформи /? android? / res / drawable-? dpi / icon.png, але в даний час це не робить такої коректної поведінки ... помилка.

тому я думаю, що ми повинні вручну розміщувати їх там для кожної платформи. звичайно, це потрібно було б видалити із повторного копіювання у папку www. для мене мені все одно довелося повністю замінити вміст у головній папці www, оскільки він просто не працював навіть із привітним світом, не зламавши перенаправлення index.html, щоб знайти там якусь дивну випадкову папку. Розміщувати папку res поруч із www має найбільший сенс, але те, що мені здається, викликане цією низкою каскадних та заплутаних варіантів дизайну / недоліків.


2

в деяких випадках внутрішні скрипти cordova не поміщають значки в потрібну папку, тому ви можете побачити робота f *** cordova замість вашої власної піктограми.

Скористайтеся сценарієм гачка .;)

три гачки-ваш-кордовафонегап-проект-потреби

Створіть папку "after_platform_add" у папці хука та помістіть / змініть останню скрипт від devgirl.

Не забудьте встановити виконавчі права для сценарію в Linux "chmod 777 <script>"

Щасти!


1

Все, що я зробив, було додано рядки нижче в config.xml <icon src="www/img/appIcon.png" />

І це працювало абсолютно нормально


Thx людина. Я спробував помістити одну піктограму в res / icon.png (як у прикладах документації ...), і вона ніколи не працювала на ios. Нарешті я відмовився від цієї заплутаної папки "res" і поставив піктограму під "www", як ти запропонував, і це спрацювало як шарм і для мене! Це працює для Cordova 6.0.0. платформа ios.
firepol

1

Просто додайте цей код у файл config.xml

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

наприклад:

<icon src="icon.png">

Усі способи пам’ятайте, що вам потрібно використовувати розширення .png


спробуйте використовувати зображення у форматі PNG
Jobincs

0

Я також посеред намагаюся зрозуміти, як це все пов’язано.

Ось те, що я знайшов до цього часу в XCode, але я сподіваюся, що це буде виправлено або підтверджено, якщо мої припущення будуть правильними. Я не знайшов готової збірки для xcode від cordova, яка правильно застосовує піктограми. Як і ви, я оновив усі піктограми, перелічені в config.xml, але без кісток.

Тому...

По-перше, я зазвичай оновлюю файл config.xml у кореневій частині проекту тим, що міститься в моїй папці "www" (це я роблю з невпевненості, що файл www / config.xml має пріоритет або навіть застосовується)

По-друге, я оновлюю "Фази побудови" проекту. Розгорніть «Копіювати зв’язок ресурсів», ви вже помітили всі зображення в «Ресурси / піктограми», «Ресурси / сплеск». Ви можете:

  • видаліть усе це, щоб уникнути перезапису ваших зображень АБО
  • оновіть усі ці зображення своїми власними (перейменовуючи їх у назва зображення)

Поки я працював над цим, можливо, ви зможете мінімально просто оновлювати зображення на вкладці "Підсумок".

Перетягніть свої зображення із папок з res у відповідне зображення на вкладці "Підсумок". (res / icon / ios -> піктограми програм та res / screen / ios -> Запуск зображень). Я роблю це лише для iPhone, оскільки моя програма призначена лише для iPhone. Позначте "попередньо відтворений", якщо ви не хочете, щоб з'являвся блиск.

Потім оновіть "icon.png", на який посилається файл plist проекту: PROJECT_NAME-Info.plist або на вкладці "Інформація", переглядаючи ціль проекту. Перейменуйте його на "icon-57.png" (що зараз живе в корені вашого проекту, це було автоматично додано до кореня, коли ви робили перетягування.

Створіть, і вам слід оновити піктограму програми.


Я побудував проект за допомогою Cordova 3.0.3, але, гадаю, це те саме саме для збірки phonegap.
Сем Цай

0

Тільки зазначивши, що я щойно змінив свій файл config.xml, щоб виглядати як приклад Себастьяна.

Щось, що також корисно при налагодженні всього цього, особливо якщо ви не робите локальних збірок ... це завантаження файлів XAP / IPA / APK, побудованих із хмари PhoneGap, і створення папок для кожного. Перейменуйте кожен файл із розширенням .ZIP та витягніть вміст кожного до відповідних папок. Отже, зараз ви можете бачити, що є в упаковці, яка буде надіслана на телефон.

Роблячи це, я бачу, що для платформи Microsoft Phone вона в основному ігнорує всі мої спроби замінити піктограму чи заставку. Якщо ви заміните ApplicationIcon.png та SplashScreenImage.jpg, потім повторно заархівуйте набір папок і перейменуйте його як файл .XAP, а потім розгорніть його на своєму телефоні, і він буде працювати чудово. Якось існує спосіб просто отримати побудову PhoneGap, щоб перетворити ваші icon.png та icon.jpg на ці два файли. Можливо, пропозиція Masood - це можливість тут і використовувати сценарій хука.

Якщо зробити те саме для файлу .IPA (iOS), то на батьківському рівні над www з’явиться кілька файлів, таких як icon-something.png. Усі вони здаються порожніми.

Виконання того самого для файлу .APK (Android) призводить до створення набору папок res / drawable-something, і, схоже, у кожній з них мій icon.png. Це найближче до успіху, на який я можу претендувати на даний момент.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.