2009-03-14 4 views

Trả lời

23

trong bạn info.plist thêm

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

với file icon iconfile.icns trong thư mục Resources bạn

+0

Hoạt động hoàn hảo. Cảm ơn. –

+3

Câu trả lời là chính xác nhưng Finder thường không nhận được sự thay đổi trong biểu tượng ngay lập tức. Sao chép các gói vào một thư mục khác để có được nó để đăng ký biểu tượng mới. – koan

+1

Tôi đã phải xóa thêm Biểu tượng trống? tệp ở gốc của gói. – ciastek

4

Nếu bạn đến đây bởi vì bạn có một ứng dụng duy nhất và muốn thay đổi hình ảnh trên máy tính của bạn chỉ (không chắc chắn cách thức hoạt động để chia sẻ), có nhiều cách dễ dàng hơn. Đặc biệt, đây là hai lựa chọn Tôi đã sử dụng:

  1. Nếu bạn muốn sao chép một biểu tượng hiện có:

    • Chọn mục nguồn và nhấn Cmd-I (Apple-I)
    • Chọn mục bạn muốn thay đổi và nhấn Cmd-I (Apple-I)
    • Kéo biểu tượng từ nguồn sang biểu tượng trên cùng bên trái của biểu tượng bạn muốn thay đổi (hình ảnh ví dụ hiển thị biểu tượng mục tiêu: đó là biểu tượng 'thư mục' ở bên trái của từ "bird_id 2"): enter image description here
  2. Tạo tệp .icns từ bất kỳ hình ảnh nào. Nếu bạn sử dụng MacPorts, tôi khuyên bạn nên sử dụng cổng thay thế cổng - xem bên dưới để biết thêm thông tin. Bạn cũng có thể thực hiện việc này bằng cách sử dụng ứng dụng như http://www.img2icnsapp.com/ như được đề xuất tại https://discussions.apple.com/thread/2773825.

 
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

Rực rỡ, đây chỉ là những gì tôi cần (và bây giờ có một trình khởi chạy GUI Emacs tùy chỉnh thừa kế tất cả các thiết lập .bashrc của tôi, vì vậy tôi có thể tìm thấy các bí danh và các kịch bản khác dễ dàng từ một vỏ emacs hoặc eshell). – Ben

3

tôi đã thực hiện một kịch bản nhỏ mà phải mất một hình ảnh lớn và thay đổi kích thước nó cho tất cả các kích cỡ biểu tượng dự kiến ​​dành cho Mac OS, bao gồm những đôi cho màn hình võng mạc. Nó lấy tệp png gốc, mà tôi mong muốn lớn bằng kích thước tối đa, nếu không lớn hơn, để đảm bảo chúng được hiển thị ở chất lượng tối đa.

Nó thay đổi kích thước và sao chép chúng vào một bộ biểu tượng và sử dụng công cụ 'iconutil' của Mac OS để kết hợp chúng thành tệp .icns.

Để tập lệnh này chạy, bạn cần tệp biểu tượng ban đầu của mình thành png và bạn có nhóm của mình theo thứ tự hoạt động nhiều hơn hoặc ít hơn. Bạn chỉ cần chạm vào ba dòng đầu tiên.

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