2016-10-28 1 views
0

J'essaie de créer un ensemble d'applications minimal. J'ai trouvé la page suivante sur apple.com:Création d'un ensemble d'applications macOS minimal

https://developer.apple.com/library/content/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html

Mon Info.plis est la suivante:

<?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>CFBundleExecutable</key> 
    <string>MyApp</string> 
    <key>CFBundleSignature</key> 
    <string>MYAP</string> 
    <key>CFBundlePackageType</key> 
    <string>APPL</string> 
    <key>CFBundleVersion</key> 
    <string>1.0.0</string> 
    <key>CFBundleIdentifier</key> 
    <string>com.myself.myapp</string> 
    <key>CFBundleDisplayName</key> 
    <string>MyApp</string> 
    <key>CFBundleName</key> 
    <string>MyApp</string> 
</dict> 
</plist> 

Mon fichier exécutable est un fichier texte avec des autorisations -rwxrwxr-- qui dit:

#!/bin/sh 
touch ~/Desktop/hello.txt 

Ce que je peux exécuter dans le terminal. Ma structure de dossier est la suivante:

MyApp.app/ 
    Contents/ 
     Info.plist 
     MacOS/ 
      MyApp 
     Resources/ 

donc j'attendre de travailler cette application. Pourtant, quand je clique dessus, je reçois le message suivant:

Vous ne pouvez pas ouvrir l'application « MyApp.app » parce que les applications PowerPC ne sont plus pris en charge.

Est-ce que quelqu'un sait de quoi il s'agit? Comment l'OS décide-t-il qu'il s'agit d'une application PowerPC? Ma version d'OSX est 10.11.6 (15G1108). Je pense que ce travaillais avec 10.11.5

Edit: Ajouté Shebang

+0

Si le one-liner est censé être un script bash, il devrait probablement commencer par un bon shebang. Je suppose que le système d'exploitation s'attend à ce que votre exécutable ressemble à un exécutable pour les processeurs Intel plutôt que d'être compilé pour un PowerPC ou un binaire * gras * contenant les deux. –

+0

J'ai remplacé le script par un monde C++ hello compilé et le problème persiste. – impact27

+0

Cet article peut aider - il semble que les applications peuvent être marquées comme n'étant pas compatible avec X86-64 et la seule chose que vous pouvez faire est de réinitialiser la base de données Launch Services en utilisant l'outil 'lsregister' ... voir ce que vous pensez aider. http://forums.sketchup.com/t/power-pc-error-message-on-macbook-pro/23024/33 –

Répondre

1

Merci à Mark Setchell J'ai trouvé ce qui est arrivé:

  • Sur la dernière mise à jour, OSX arrêté d'accepter des scripts sans tralala, et marqué mon application comme « non x86_64 »
  • Quand j'ai essayé de le réparer/remplacer le script avec un fichier compilé, le drapeau était toujours là

donc la solution w pour réparer mon script et déplacer l'application pour réinitialiser la base de données des services de lancement. (Qui stocke les chemins absolus)

+0

Cool - bien fait! Et merci de partager avec la communauté. –