Tôi có một ứng dụng mà tôi đã đóng gói vào gói ứng dụng Mac OS X. Tất cả mọi thứ đang làm việc tốt, nhưng tôi muốn thay đổi biểu tượng của nó từ mặc định. Làm thế nào để tôi đặt biểu tượng của nó? Cảm ơn.Làm cách nào để đặt biểu tượng cho gói ứng dụng Mac OS X của ứng dụng của tôi?
Trả lời
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
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:
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"):
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.
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
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
Hoạt động hoàn hảo. Cảm ơn. –
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
Tôi đã phải xóa thêm Biểu tượng trống? tệp ở gốc của gói. – ciastek