2013-08-01 85 views
8

我嘗試使用phonegap啓動cordova應用程序,並且無法更改iOS的默認應用程序圖標 - (實際圖標不是啓動屏幕)。默認圖標總是被複制到Resouces - >圖標文件夾中,而不是我的自定義圖標。我用phonegap中的指定方法建議在config.xml文件中添加一個圖標標籤,但這不起作用?重新啓動Xcode並重新啓動我的應用程序,並從模擬器/設備刪除它不工作。使用cordova的應用程序圖標不會更改爲自定義圖標

這是我在哪裏specifing圖標我的config.xml文件...

... 
<icon src="icon.png" /> 
<icon src="icon/ios/icon.png" gap:platform="ios" width="57" height="57" /> 
<icon src="icon/ios/[email protected]" 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/[email protected]" gap:platform="ios" width="144" height="144"/> 
... 

任何幫助將是驚人的!

p.s.我明顯檢查了所有相關的帖子,我可以找到這個,沒有運氣

+0

查看我非常完整的圖標Cordova 5.1.1的常見問題在這裏:必須閱讀,因爲許多事情沒有按預期工作! http://stackoverflow.com/a/31674547/82609 –

回答

4

我面臨同樣的問題,儘管尋找一個權威,我沒有運氣試圖添加圖標標籤在config.xml中,將我的圖標存儲在www /圖標文件夾中,以便cordova build可以像預期的那樣複製它們。文檔根本不清楚,分散在不同的帖子和解決方案中。

因此,對我來說,以下是我的看法,儘管我認爲這不是最優雅的解決方案,但它的工作原理。

打開您的XCode項目並將您的圖標存儲在文件夾資源/圖標上,或者選擇您的目標項目,轉到摘要並向下滾動直到看到圖標,點擊其中任何一個圖標並右鍵單擊它並選擇打開發現者,所以你有正確的位置來覆蓋默認的位置。

一定要使用在目標文件夾中使用,以避免混淆相同的名稱和CLEAN項目和BUILD再次它。

如果您在模擬器或設備中運行項目,默認圖標就會出現,那麼只需從設備上卸載您的應用程序並重新構建即可。

希望它有幫助,但我希望有一個方法來修改開發WWW並讓科爾多瓦建立複製圖標和splashcreen。

+0

清潔+重建解決了這個問題。謝謝。 – kernix

0

我的科爾多瓦版本是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/[email protected]" width="120" height="120" /> 
    <!-- and more.. (please follow the reference)--> 
</platform> 

在模擬器或設備上卸載您的應用程序,然後重試。
我希望這個幫助。祝你好運。

+0

安卓系統會忽略沒有密度的圖標。沒有高度/寬度的圖標可能會覆蓋iOS的其他圖標,並且聲明的順序很重要。看到我的常見問題在這裏http://stackoverflow.com/a/31674547/82609 –

3

此方法可行,但您需要包含www的完整路徑。 <icon src="www/img/logo.png" />

這種方法是我認爲它應該工作,但它沒有。 <icon src="img/logo.png" />

科爾多瓦版本4.0.0

+0

是這條路徑是相對於根,而不是相對於'www'所以它必須在路徑中包含'www'(如果需要)。但它只適用於iOS而不適用於Android,請參閱我的常見問題http://stackoverflow.com/a/31674547/82609 –

+0

這對我有用。我不得不添加www/icon.png。謝謝 – Tony

0

使用鉤從this website的伎倆我。 這個Hook只是一個在執行期間(可以配置執行時間)執行構建過程的JavaScript代碼。這是將目錄中的內容保持爲通用的並且不需要修改配置文件的好方法。 PS:在Hook中使用簡單的console.log()命令,以便了解在構建期間(在CLI中)究竟做了什麼。

0

我的科爾多瓦版本是4.2。 但是我正在測試Android。

構建過程中,phonegap將www/res/icons/ios文件夾中的圖標複製到ant-build的android res文件夾中,因此自定義圖標永遠不會被使用並且總是被默認值替代。

我建議執行一個cordova構建--verbose並徹底瀏覽控制檯日誌,看看它是否在行爲不端。

祝你好運!

3

我有同樣的問題(圖標變回默認的,即使我已經正確設置我的路徑),轉產

<preference name="prerendered-icon" value="true" /> 

config.xml中從真到假的解決問題對我來說。

相關問題