2009-03-14 13 views
16

मेरे पास एक ऐसा एप्लिकेशन है जिसे मैंने मैक ओएस एक्स ऐप बंडल में बंडल किया है। सब ठीक काम कर रहा है, लेकिन मैं अपने आइकन को डिफ़ॉल्ट से बदलना चाहता हूं। मैं अपना आइकन कैसे सेट करूं? धन्यवाद।मैं अपने एप्लिकेशन के मैक ओएस एक्स ऐप बंडल के लिए आइकन कैसे सेट करूं?

उत्तर

23

में अपने info.plist अपने संसाधन निर्देशिका में जोड़ने

<key>CFBundleIconFile</key> 
<string>iconfile</string> 

आइकन फ़ाइल iconfile.icns साथ

+0

पूरी तरह से काम करता है। धन्यवाद। –

+3

उत्तर सही है लेकिन खोजक आमतौर पर आइकन में तुरंत परिवर्तन नहीं लेता है। नए आइकन को पंजीकृत करने के लिए बंडल को किसी अन्य फ़ोल्डर में कॉपी करें। – koan

+1

मुझे अतिरिक्त आइकन खाली करना पड़ा? बंडल की जड़ पर फ़ाइल। – ciastek

4

आप यहाँ आए थे, क्योंकि आप एक ही ऐप्लिकेशन है और (सुनिश्चित करें कि न केवल आपके कंप्यूटर पर छवि बदलना चाहते हैं यह साझा करने के लिए कैसे काम करता है), बहुत आसान तरीके हैं।

  1. यदि आप किसी मौजूदा आइकन कॉपी करना चाहते हैं:

    • स्रोत आइटम और प्रेस Cmd-मैं का चयन करें (एप्पल I)
    • विशेष रूप से, यहां दो विकल्प मैं प्रयोग किया है उस आइटम का चयन करें जिसे आप बदलना चाहते हैं और Cmd-I (Apple-I)
    • आइकन को उस स्रोत के शीर्ष बाएं आइकन पर खींचें जिसे आप बदलना चाहते हैं (उदाहरण छवि लक्ष्य आइकन दिखाती है: यह है "bird_id 2" शब्दों के बाईं ओर 'फ़ोल्डर' आइकन): enter image description here
  2. किसी भी छवि से .icns फ़ाइल बनाएं। यदि आप मैकपॉर्ट्स का उपयोग करते हैं, तो मैं पोर्ट मेकिकन्स का उपयोग करने की बजाय अनुशंसा करता हूं - अधिक जानकारी के लिए नीचे देखें। https://discussions.apple.com/thread/2773825 पर अनुशंसित अनुसार आप वैकल्पिक रूप से http://www.img2icnsapp.com/ जैसे ऐप का उपयोग करके ऐसा कर सकते हैं।

 
makeicns v1.4.10 (284bd686824f) 

Usage: makeicns [k1=v1] [k2=v2] ... 

Keys and values include: 
    512: Name of input image for 512x512 variant of icon 
    256: Name of input image for 256x256 variant of icon 
    128: Name of input image for 128x128 variant of icon 
    32: Name of input image for 32x32 variant of icon 
    16: Name of input image for 16x16 variant of icon 
    in: Name of input image for all variants not having an explicit name 
    out: Name of output file, defaults to first nonempty input name, 
     but with icns extension 

    align: [center, left, right, top, bottom] {First letter suffices!} 

Examples: 

    makeicns -512 image.png -32 image.png 
     Creates image.icns with only a 512x512 and a 32x32 variant. 

    makeicns -in myfile.jpg -32 otherfile.png -out outfile.icns 
     Creates outfile.icns with sizes 512, 256, 128, and 16 containing data 
     from myfile.jpg and with size 32 containing data from otherfile.png. 
+0

शानदार, यह वही है जो मुझे चाहिए (और अब एक कस्टम Emacs GUI लॉन्चर है जो मेरे सभी .bashrc सेटिंग्स को भी विरासत में मिला है, इसलिए मैं एनाक्स शेल या एशेल से आसानी से उपनाम और अन्य स्क्रिप्ट ढूंढ सकता हूं)। – Ben

3

मैं एक छोटे से स्क्रिप्ट है कि एक बड़ी छवि लेता है और मैक ओएस के लिए सभी की उम्मीद आइकन आकार, रेटिना डिस्प्ले के लिए डबल को भी करने के लिए इसे आकार बदलता है बनाया है। यह मूल पीएनजी फ़ाइल लेता है, जो कि अधिकतम आकार के रूप में बड़ा होने की अपेक्षा करता है, यदि यह बड़ा नहीं है, तो यह सुनिश्चित करने के लिए कि उन्हें अधिकतम गुणवत्ता पर प्रदान किया जाता है।

यह आकार बदलता है और उन्हें एक आइकन सेट पर कॉपी करता है, और मैक ओएस के 'iconutil' टूल का उपयोग उन्हें .icns फ़ाइल में शामिल करने के लिए करता है।

इस स्क्रिप्ट को चलाने के लिए, आपको अपनी मूल आइकन फ़ाइल को एक पीएनजी होने की आवश्यकता है, और आपके पास बंडल कम या कम काम करने वाले क्रम में है। आपको केवल पहली तीन पंक्तियों को छूने की जरूरत है।

export PROJECT=Myproject 
export ICONDIR=$PROJECT.app/Contents/Resources/$PROJECT.iconset 
export ORIGICON=Mybigfile.png 

mkdir $ICONDIR 

# Normal screen icons 
for SIZE in 16 32 64 128 256 512; do 
sips -z $SIZE $SIZE $ORIGICON --out $ICONDIR/icon_${SIZE}x${SIZE}.png ; 
done 

# Retina display icons 
for SIZE in 32 64 256 512; do 
sips -z $SIZE $SIZE $ORIGICON --out $ICONDIR/icon_$(expr $SIZE/2)x$(expr $SIZE/2)x2.png ; 
done 

# Make a multi-resolution Icon 
iconutil -c icns -o $PROJECT.app/Contents/Resources/$PROJECT.icns $ICONDIR 
rm -rf $ICONDIR #it is useless now 
संबंधित मुद्दे