У меня есть комплект приложений MacOS.То есть он запускает исполняемый файл, вот и все.Значок по-прежнему не работает, хотя у меня есть файл MyApp.icns
, который я могу визуально увидеть в Finder.И i18n не работает.
MyApp.app/
Contents/
Info.plist
MacOS/
MyApp # executable
Resources/
MyApp.icns
en.lproj
InfoPlist.strings
jp.lproj
InfoPlist.strings
.icns
, который я сгенерировал из здесь :
mkdir MyIcon.iconset
sips -z 16 16 foo.png --out MyIcon.iconset/icon_16x16.png
sips -z 32 32 foo.png --out MyIcon.iconset/icon_16x16@2x.png
sips -z 32 32 foo.png --out MyIcon.iconset/icon_32x32.png
sips -z 64 64 foo.png --out MyIcon.iconset/icon_32x32@2x.png
sips -z 128 128 foo.png --out MyIcon.iconset/icon_128x128.png
sips -z 256 256 foo.png --out MyIcon.iconset/icon_128x128@2x.png
sips -z 256 256 foo.png --out MyIcon.iconset/icon_256x256.png
sips -z 512 512 foo.png --out MyIcon.iconset/icon_256x256@2x.png
sips -z 512 512 foo.png --out MyIcon.iconset/icon_512x512.png
cp Icon1024.png MyIcon.iconset/icon_512x512@2x.png
iconutil -c icns MyIcon.iconset
rm -R MyIcon.iconset
Мой Info.plist выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleName</key>
<string>MyApp</string>
<key>CFBundleDisplayName</key>
<string>MyApp</string>
<key>CFBundleIdentifier</key>
<string>MyApp</string>
<key>CFBundleVersion</key>
<string>1.0.0</string>
<key>CFBundleVersion</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>MyApp</string>
<key>CFBundleExecutable</key>
<string>this/has/no/effect</string>
<key>CFBundleIconFile</key>
<string>NeitherDoesThis</string>
</dict>
Строки InfoPlist.string для каждого языка выглядят следующим образом:
CFBundleDisplayName = "Foo";
NSHumanReadableCopyright = "Copyright © 2019 Me.";
или:
CFBundleDisplayName = "ふ";
NSHumanReadableCopyright = "著作権法 © 2019 目.";
У меня возникают следующие проблемы:
- Я не могу указать путь к исполняемому файлу, он работает только в том случае, если его имя совпадает с
MyApp.app
, поэтому MyApp
исполняемый файл. - Значок
MyApp.icns
не отображается впапка / Applications (это единственное место, куда я ее поместил).Я не уверен, смогу ли я настроить этот путь либо. - Я не уверен, как проверить, работает ли i18n.
Интересно, можно ли проверить этот материал, и показатькак проверить другие вещи.В частности:
- Убедитесь, что на самом деле вы не можете настроить путь к исполняемому файлу, его должно иметь то же имя, что и приложение в папке MacOS.
- Убедитесь, что вы должны назвать значок так же, как приложение, с расширением .icns.Я не уверен, что это правда, потому что, например, основной значок Skypes находится в расположении ресурсов / Skype Blue.icns, и они говорят
Skype Blue
в Info.plist.Интересно, почему я не могу заставить это работать. - Как проверить, работает ли i18n.Интересно, я просто поменяю язык системы Mac и снова открою приложение и т. Д.
Это все без использования XCode.