How to customize and test executable path, main icon, and i18n of a MacOS .app bundleiOS app update, how to...

How can I get through very long and very dry, but also very useful technical documents when learning a new tool?

How to write papers efficiently when English isn't my first language?

Crossing the line between justified force and brutality

Escape a backup date in a file name

What happens if you roll doubles 3 times then land on "Go to jail?"

Customer Requests (Sometimes) Drive Me Bonkers!

How easy is it to start Magic from scratch?

Do sorcerers' subtle spells require a skill check to be unseen?

Short story about space worker geeks who zone out by 'listening' to radiation from stars

Implement the Thanos sorting algorithm

What does "I’d sit this one out, Cap," imply or mean in the context?

Trouble understanding the speech of overseas colleagues

Is there a good way to store credentials outside of a password manager?

Is there a problem with hiding "forgot password" until it's needed?

Is `x >> pure y` equivalent to `liftM (const y) x`

CREATE opcode: what does it really do?

when is out of tune ok?

Detecting if an element is found inside a container

What is the opposite of 'gravitas'?

Gears on left are inverse to gears on right?

Proof of work - lottery approach

Anatomically Correct Strange Women In Ponds Distributing Swords

Applicability of Single Responsibility Principle

I'm in charge of equipment buying but no one's ever happy with what I choose. How to fix this?



How to customize and test executable path, main icon, and i18n of a MacOS .app bundle


iOS app update, how to update plist in the bundle?How to get a path of the app bundle in a CMake script to supply it to the fixup_bundle()?gathering info from macos signed app bundleInfo.plist. How I can I specify multiple executables?macOS: Create .app bundleAnimated App Icon for macOSScript for setting custom icon in Xcode for non-app MacOS bundle?macOS / Cocoa: How to get the path of the running app's main bundle after the user moves it on disk?How to create a MacOS app bundle with cmakeJar bundle for MacOS won't open “No main class specified”













0















I have a MacOS app bundle bare bones working. That is, it runs the executable, that's it. Icon still isn't working even though I have an MyApp.icns file I can visually see in Finder. And i18n isn't working.



MyApp.app/
Contents/
Info.plist
MacOS/
MyApp # executable
Resources/
MyApp.icns
en.lproj
InfoPlist.strings
jp.lproj
InfoPlist.strings


The .icns I generated from here:



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


My Info.plist is like this:



<?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>


The InfoPlist.strings for each language looks like this:



CFBundleDisplayName = "Foo";
NSHumanReadableCopyright = "Copyright © 2019 Me.";


or:



CFBundleDisplayName = "ふ";
NSHumanReadableCopyright = "著作権法 © 2019 目.";


The problems I'm having are:




  • I can't specify the executable path, it only works if it is named the same as MyApp.app, so MyApp executable.

  • The icon MyApp.icns isn't rendering in the /Applications folder (which is the only place I've put it so far). I'm not sure if I can customize that path either.

  • I'm not sure how to test if i18n works.


Wondering if one could verify that stuff, and show how to test the other things. Specifically:




  1. Verify that you can't actually customize the path of the executable, it must be named the same as the app in the MacOS folder.

  2. Verify that you must name the icon the same as the app, with .icns extension. I'm not sure this is true because for example Skypes main Icon is in the Resources/Skype Blue.icns location, and they say Skype Blue in the Info.plist. Wondering why I can't get this working.

  3. How to test that i18n works. Wondering if I just change the Mac system language and open the app again, etc.


This is all without using XCode.










share|improve this question















migrated from superuser.com 18 mins ago


This question came from our site for computer enthusiasts and power users.























    0















    I have a MacOS app bundle bare bones working. That is, it runs the executable, that's it. Icon still isn't working even though I have an MyApp.icns file I can visually see in Finder. And i18n isn't working.



    MyApp.app/
    Contents/
    Info.plist
    MacOS/
    MyApp # executable
    Resources/
    MyApp.icns
    en.lproj
    InfoPlist.strings
    jp.lproj
    InfoPlist.strings


    The .icns I generated from here:



    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


    My Info.plist is like this:



    <?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>


    The InfoPlist.strings for each language looks like this:



    CFBundleDisplayName = "Foo";
    NSHumanReadableCopyright = "Copyright © 2019 Me.";


    or:



    CFBundleDisplayName = "ふ";
    NSHumanReadableCopyright = "著作権法 © 2019 目.";


    The problems I'm having are:




    • I can't specify the executable path, it only works if it is named the same as MyApp.app, so MyApp executable.

    • The icon MyApp.icns isn't rendering in the /Applications folder (which is the only place I've put it so far). I'm not sure if I can customize that path either.

    • I'm not sure how to test if i18n works.


    Wondering if one could verify that stuff, and show how to test the other things. Specifically:




    1. Verify that you can't actually customize the path of the executable, it must be named the same as the app in the MacOS folder.

    2. Verify that you must name the icon the same as the app, with .icns extension. I'm not sure this is true because for example Skypes main Icon is in the Resources/Skype Blue.icns location, and they say Skype Blue in the Info.plist. Wondering why I can't get this working.

    3. How to test that i18n works. Wondering if I just change the Mac system language and open the app again, etc.


    This is all without using XCode.










    share|improve this question















    migrated from superuser.com 18 mins ago


    This question came from our site for computer enthusiasts and power users.





















      0












      0








      0








      I have a MacOS app bundle bare bones working. That is, it runs the executable, that's it. Icon still isn't working even though I have an MyApp.icns file I can visually see in Finder. And i18n isn't working.



      MyApp.app/
      Contents/
      Info.plist
      MacOS/
      MyApp # executable
      Resources/
      MyApp.icns
      en.lproj
      InfoPlist.strings
      jp.lproj
      InfoPlist.strings


      The .icns I generated from here:



      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


      My Info.plist is like this:



      <?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>


      The InfoPlist.strings for each language looks like this:



      CFBundleDisplayName = "Foo";
      NSHumanReadableCopyright = "Copyright © 2019 Me.";


      or:



      CFBundleDisplayName = "ふ";
      NSHumanReadableCopyright = "著作権法 © 2019 目.";


      The problems I'm having are:




      • I can't specify the executable path, it only works if it is named the same as MyApp.app, so MyApp executable.

      • The icon MyApp.icns isn't rendering in the /Applications folder (which is the only place I've put it so far). I'm not sure if I can customize that path either.

      • I'm not sure how to test if i18n works.


      Wondering if one could verify that stuff, and show how to test the other things. Specifically:




      1. Verify that you can't actually customize the path of the executable, it must be named the same as the app in the MacOS folder.

      2. Verify that you must name the icon the same as the app, with .icns extension. I'm not sure this is true because for example Skypes main Icon is in the Resources/Skype Blue.icns location, and they say Skype Blue in the Info.plist. Wondering why I can't get this working.

      3. How to test that i18n works. Wondering if I just change the Mac system language and open the app again, etc.


      This is all without using XCode.










      share|improve this question
















      I have a MacOS app bundle bare bones working. That is, it runs the executable, that's it. Icon still isn't working even though I have an MyApp.icns file I can visually see in Finder. And i18n isn't working.



      MyApp.app/
      Contents/
      Info.plist
      MacOS/
      MyApp # executable
      Resources/
      MyApp.icns
      en.lproj
      InfoPlist.strings
      jp.lproj
      InfoPlist.strings


      The .icns I generated from here:



      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


      My Info.plist is like this:



      <?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>


      The InfoPlist.strings for each language looks like this:



      CFBundleDisplayName = "Foo";
      NSHumanReadableCopyright = "Copyright © 2019 Me.";


      or:



      CFBundleDisplayName = "ふ";
      NSHumanReadableCopyright = "著作権法 © 2019 目.";


      The problems I'm having are:




      • I can't specify the executable path, it only works if it is named the same as MyApp.app, so MyApp executable.

      • The icon MyApp.icns isn't rendering in the /Applications folder (which is the only place I've put it so far). I'm not sure if I can customize that path either.

      • I'm not sure how to test if i18n works.


      Wondering if one could verify that stuff, and show how to test the other things. Specifically:




      1. Verify that you can't actually customize the path of the executable, it must be named the same as the app in the MacOS folder.

      2. Verify that you must name the icon the same as the app, with .icns extension. I'm not sure this is true because for example Skypes main Icon is in the Resources/Skype Blue.icns location, and they say Skype Blue in the Info.plist. Wondering why I can't get this working.

      3. How to test that i18n works. Wondering if I just change the Mac system language and open the app again, etc.


      This is all without using XCode.







      macos plist bundle






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 10 mins ago







      Lance Pollard

















      asked 21 mins ago









      Lance PollardLance Pollard

      32k68206349




      32k68206349




      migrated from superuser.com 18 mins ago


      This question came from our site for computer enthusiasts and power users.









      migrated from superuser.com 18 mins ago


      This question came from our site for computer enthusiasts and power users.


























          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55388647%2fhow-to-customize-and-test-executable-path-main-icon-and-i18n-of-a-macos-app-b%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55388647%2fhow-to-customize-and-test-executable-path-main-icon-and-i18n-of-a-macos-app-b%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Cannot install PyQt5 The Next CEO of Stack OverflowCannot install tcpreplay 3.4.4cannot...

          Kapp-Putsch Acontecimentos | Outros artigos | Menu de navegação

          Why did early computer designers eschew integers? The Next CEO of Stack OverflowWhat register...