2011-03-23 1 views
1

J'ai un autre problème avec Xcode 4. J'aime vraiment le nouvel IDE mais il y a quelques choses que je n'ai pas encore réussi à faire. Une chose est d'enregistrer les types de documents avec Xcode 4. Je l'ai essayé à l'ancienne dans le fichier plist, mais cela n'a pas fonctionné. (Signifie que je ne pouvais pas ouvrir un fichier avec mon application) Mais je ne sais pas comment le configurer avec l'interface de Xcode 4.Xcode 4 Types de document et UTI exportés

Ma dernière tentative ressemble à ceci: (Copié l'entrée faite à partir de Xcode dans le info.plist)

<key>UTExportedTypeDeclarations</key> 
<array> 
    <dict> 
     <key>UTTypeConformsTo</key> 
     <array> 
      <string>public.plain-text</string> 
     </array> 
     <key>UTTypeDescription</key> 
     <string>Configuration File</string> 
     <key>UTTypeIdentifier</key> 
     <string>com.myname.projec.iws</string> 
    </dict> 
</array> 

et:

<key>CFBundleDocumentTypes</key> 
<array> 
    <dict> 
     <key>CFBundleTypeIconFiles</key> 
     <array> 
      <string>AnIcon-320</string> 
     </array> 
     <key>CFBundleTypeName</key> 
     <string>Config File</string> 
     <key>LSItemContentTypes</key> 
     <array> 
      <string>com.myname.projec.iws</string> 
     </array> 
    </dict> 
</array> 

Cela ne fonctionne pas. Le fichier dans Mail n'a pas l'option d'ouvrir avec mon application.

Quelqu'un at-il un exemple de travail avec Xcode 4 ou un tutoriel comment le faire. Je n'ai plus d'idée pour le faire fonctionner.

Sandro

+1

Cliquez sur l'icône TARGET dans l'arborescence de gauche, puis sur INFO. Vous devriez être en mesure de modifier les entrées via Xcode plutôt que de modifier manuellement le plist. Il vous évite d'avoir à éditer le plist directement (en texte ou en XML). – jww

Répondre

4

Je pense que le rôle et l'extension de fichier sont manquants.

Si vous souhaitez spécifier une extension de fichier, vous devez ajouter UTTypeTagSpecification:

<key>UTExportedTypeDeclarations</key> 

<array> 

    <dict> 
     <key>UTTypeConformsTo</key> 
     <array> 
      <string>public.text</string> 
     </array> 
     <key>UTTypeDescription</key> 
     <string>my document type</string> 
     <key>UTTypeIdentifier</key> 
     <string>com.mycompany.myfiletypename</string> 
     <key>UTTypeTagSpecification</key> 
     <dict> 
      <key>public.filename-extension</key> 
      <array> 
       <string>iws</string> 
      </array> 
     </dict> 
    </dict> 

Pour le rôle, vous devez ajouter CFBundleTypeRole:

<key>CFBundleDocumentTypes</key> 
<array> 
    <dict> 
     <key>CFBundleTypeName</key> 
     <string>My file</string> 
     <key>CFBundleTypeIconFiles</key> 
     <array> 
      <string>document-320.png</string> 
      <string>document-64.png</string> 
     </array> 
     <key>LSHandlerRank</key> 
     <string>Alternate</string> 
     <key>CFBundleTypeRole</key> 
     <string>Viewer</string> 
     <key>LSItemContentTypes</key> 
     <array> 
      <string>com.mycompany.myfiletypename</string> 

     </array> 
    </dict> 
</array> 
+0

Than kyou pour votre réponse. Cela fonctionne avec votre description. Mais savez-vous aussi, comment je peux le faire via la nouvelle interface graphique de Xcode4 pour créer cela? –

+0

Non. Je suppose qu'il y a un éditeur de plist dans xcode 4. Mais pour ce genre de modifications, je préfère éditer le plist sous forme de fichier texte. Dans xcode 3, vous pouvez faire un clic droit sur le fichier plist et choisir de l'éditer en tant que fichier texte (ou fichier source peut-être). Si vous voulez dire un éditeur spécifique pour UTI, je ne sais pas si elle existe, a existé ou le sera. Mais je l'utiliserais si rarement que je l'oublierais de toute façon. Peut-être que je l'ai déjà fait :) – FKDev

+2

Oui, bien sûr, il y a un éditeur de plist. Je l'ai fait avec celui-là et ça marche. Mais dans Xcode4 il y a une interface graphique. C'est pourquoi j'ai demandé. ;-) Merci pour votre réponse. :-RÉ –

1

Vous pouvez modifier l'équivalent de votre 'com.mycompany.myfiletypename' en définissant "Types de document" => "Elément 0" => "Types de systèmes d'exploitation de documents" => "Elément 0".

La valeur par défaut est "????" que vous pouvez remplacer par "com.mycompany.myfiletypename". Je pense que les autres propriétés parlent d'elles-mêmes.

1

Je viens de regarder mon ancien fichier .plist et couper et coller les clés et les valeurs dans le nouveau projet Xcode 4 qui avait été importé à partir d'une version Xcode3. Il "perd" apparemment une partie de l'information dans le .plist pour UTI quand il vient. Cependant, quand j'ai collé de nouveau les clés/valeurs manquantes dans .plist avec Xcode3, les nouvelles valeurs ont fonctionné ET elles apparaissent dans l'interface graphique afin que vous puissiez maintenant "parcourir" l'interface graphique et voir ce qui se passe. Sorte d'ingénierie inverse de l'interface graphique, mais cela fonctionne.