2012-02-08 12 views
12

Ho riscontrato un problema nella registrazione dei tipi di file immagine nella mia applicazione. Ho provato ad aggiungere il codice qui sotto al mio plist ma non succede nulla.Perché non riesco a registrare la mia applicazione iOS per gestire il tipo di file immagine?

<key>CFBundleDocumentTypes</key> 
    <array> 
     <dict> 
      <key>CFBundleTypeName</key> 
      <string>Scary Bug Document</string> 
      <key>LSHandlerRank</key> 
      <string>Alternate</string> 
      <key>CFBundleTypeRole</key> 
      <string>None</string> 
      <key>LSItemContentTypes</key> 
      <array> 
       <string>public.image</string> 
      </array> 
     </dict> 
    </array> 

ho notato che posso registrare per altri tipi di file, come ad esempio il testo (cambiando il public.image-public.text) ma semplicemente non funziona con le immagini (il menu "Apri in .." non è visualizzato il mio app).

Cosa potrebbe causare questo problema e come è possibile risolverlo?

risposta

2

Dopo aver fatto una un po 'di ricerca sembra che non sia possibile registrare l'app per le immagini. Grazie per le vostre risposte.

+0

avete qualsiasi riferimento per la tua ricerca .. sarebbe bello .. – samfisher

+0

Ho postato una domanda sui forum degli sviluppatori di apple ... :) puoi verificarlo [link] (https://devforums.apple.com/thread/140939 ? tstart = 0) –

+0

significava "cercare fuori" non "check it out" altrimenti avresti fornito un link almeno .. :( – samfisher

1

public.image è un tipo astratto, provare la registrazione per public.png o public.jpeg ecc

+0

ho provato quelli troppo ma ancora fortuna ... e dal modo in cui dovrebbe funzionare con public.image come funziona per public.text ma mi manca qualcosa –

2

Prova:

<key>CFBundleDocumentTypes</key> 
    <array> 
     <dict> 
      <key>CFBundleTypeName</key> 
      <string>Scary Bug Document</string> 
      <key>LSHandlerRank</key> 
      <string>Alternate</string> 
      <key>CFBundleTypeRole</key> 
      <string>None</string> 
      <key>LSItemContentTypes</key> 
      <array> 
       <string>public.png</string> 
       <string>public.jpg</string> 
      </array> 
     </dict> 
    </array> 

Inoltre, vedono questo other answer su StackOverflow

+0

che non funziona –

0

Il sistema operativo non ti consente di aprire le immagini nella tua app. Ho anche provato molte combinazioni di permutazione & e confermato da alcuni altri post nell'Apple Support.

6

Ora è possibile aprire le immagini dall'applicazione Posta in iOS 7, è solo un po 'contorto:

Toccare e tenere premuto l'immagine. Toccare su Quick Look in modo che l'immagine diventi a schermo intero. Toccare l'immagine per mostrare la barra degli strumenti superiore. Toccare il pulsante Apri in alto a destra. Scorri l'elenco a sinistra per trovare la tua app.

Assicurarsi di impostare i tipi di documento fascio per i tipi di immagine che vi interessano.

+0

È una nuova funzionalità aggiunta a iOS7? Puoi aprire le immagini dal rullino fotografico o solo dall'applicazione di posta? –

+1

@Artanis Sembra che sia nuovo per iOS 7. Questo sembra funzionare anche in ogni app che esporta le immagini * tranne * le app Foto e Fotocamera ... –

6

risposta Dimitri Bouniol che funziona in iOS 7 via rapido sguardo è corretta. Le seguenti aggiunte al mio in info.plist di seguito sono come ho avuto modo di lavorare per la mia app. Ancora non ho capito come ottenere la condivisione di foto o il rullino fotografico per funzionare.

<key>CFBundleDocumentTypes</key> 
    <array> 
     <dict> 
      <key>CFBundleTypeExtensions</key> 
      <array> 
       <string>myapp image</string> 
      </array> 
      <key>CFBundleTypeName</key> 
      <string>public.png</string> 
      <key>CFBundleTypeRole</key> 
      <string>Editor</string> 
      <key>LSHandlerRank</key> 
      <string>Alternate</string> 
      <key>LSItemContentTypes</key> 
      <array> 
       <string>public.png</string> 
       <string>public.jpeg</string> 
      </array> 
     </dict> 
    </array> 
    <key>UTImportedTypeDeclarations</key> 
    <array> 
     <dict> 
      <key>UTTypeConformsTo</key> 
      <array> 
       <string>public.image</string> 
      </array> 
      <key>UTTypeIdentifier</key> 
      <string>public.png</string> 
      <key>UTTypeTagSpecification</key> 
      <dict> 
       <key>com.apple.ostype</key> 
       <string>PNG</string> 
       <key>public.filename-extension</key> 
       <array> 
        <string>png</string> 
       </array> 
       <key>public.mime-type</key> 
       <string>image/png</string> 
      </dict> 
     </dict> 
     <dict> 
      <key>UTTypeIdentifier</key> 
      <string>public.jpeg</string> 
      <key>UTTypeReferenceURL</key> 
      <string>http://www.w3.org/Graphics/JPEG/</string> 
      <key>UTTypeDescription</key> 
      <string>JPEG image</string> 
      <key>UTTypeIconFile</key> 
      <string>public.jpeg.icns</string> 
      <key>UTTypeConformsTo</key> 
      <array> 
       <string>public.image</string> 
       <string>public.data</string> 
      </array> 
      <key>UTTypeTagSpecification</key> 
      <dict> 
       <key>com.apple.ostype</key> 
       <string>JPEG</string> 
       <key>public.filename-extension</key> 
       <array> 
        <string>jpeg</string> 
        <string>jpg</string> 
       </array> 
       <key>public.mime-type</key> 
       <string>image/jpeg</string> 
      </dict> 
     </dict> 
    </array> 
+0

funziona! e come condividere video/audio/immagini/documenti insieme? –

+0

Per me ha funzionato semplicemente aggiungendo 'CFBundleDocumentTypes'. 'UTImportedTypeDeclarations' non è necessario. – Matoz

Problemi correlati