2011-11-20 1 views
65

Xcode4 sta chiedendo un gran numero di argomenti solo per fare questa semplice cosa possibile:Come registrare uno schema di URL di apertura di app personalizzate con Xcode 4?

NSString *stringURL = @"twitterriffic://"; 
NSURL *url = [NSURL URLWithString:stringURL]; 
[[UIApplication sharedApplication] openURL:url]; 

Xcode 4 Info.plist editor

Cosa sono tutte queste proprietà per? Perché un'immagine? Devo ripetere l'identificativo dell'app qui? Quale ruolo scegliere se voglio che qualcuno sia in grado di chiamare questo URL per aprire la mia app? E quali sono queste proprietà di tipo url aggiuntive?

ho trovato nessuna esercitazione Xcode4 legati come registrare un tale schema URL con Xcode 4.

+0

Se hai idea di Utilizzo di "proprietà di tipo url aggiuntive"? – user454083

+3

L'ho spiegato nel post e ho anche fornito il codice ai parametri aggiuntivi dall'URL personalizzato: http://2cupsoftech.wordpress.com/2013/01/08/supporting-custom-url-schemes-in-ios-app/ – 2cupsOfTech

risposta

17

È possibile continuare a registrare il tuo URL personalizzato modificando il file info.plist della tua app (come mostrato in uno dei tuoi precedenti questions). Il nuovo editor di Xcode 4 dovrebbe essere una comodità per rendere più semplice l'aggiunta delle voci: tutto ciò che sta facendo è la stessa modifica di info.plist che avresti fatto manualmente. Se si desidera utilizzare il nuovo editor, è sufficiente compilare le caselle "Identificatore" e "Schemi URL". Non hai bisogno di un'immagine, icona o proprietà URL aggiuntive.

Le altre proprietà (icona, ecc) non sono ben documentati, ma sembrano essere applicabile solo su Mac OS X e possono essere utilizzate nella finestra Ottieni informazioni del Finder per visualizzare quali tipi di URL una particolare applicazione può aprire. Ad esempio, dai uno sguardo allo Launch Services Programming Guide.

0

Ciò che si modifica in quell'editor si riflette anche nel file info plist del progetto. Esso assume la forma di Nome progetto -Info.plist. Speriamo che questo aiuti.

91

Edit your AppName-Info.plist file

  • Open "File di supporto" (cartella) a sinistra e clicca su "YourAppName-Info.plist"
  • Scegli fila come "Bundle creatore OS Codice Tipo" e mouse sopra fila e fare clic sul simbolo (+)
  • questo modo si crea una nuova riga e il tipo di "tipi di URL"
  • Fare clic sul arror a sinistra e vedi punto 0 e si rinomina il valore al punto da 0 a "Schemi URL" come mostrato
  • Then edi t il campo in Articolo 0 e digita il tuo prototipo; Ho digitato "goomzee" come mostrato

Ora se installo questa app sul mio simulatore e apro Safari e digito "goomzee: //" nella barra degli indirizzi verrà avviata la mia app.

+4

All'interno del file .plist, il codice di riferimento è: ' CFBundleURLTypes CFBundleURLSchemes goomzee ' –

+6

CFBundleURLTypes CFBundleURLName com.iphonebasic.testdemo CFBundleURLSchemes com-iphonebasic-testdemo iphonemaclover

+0

Questo "codice rilevante" ha lavorato per me! Grazie –

25

Sì, questa roba non è semplice vero?

ho descritto i passaggi necessari per registrare un URL personalizzato qui: Custom URLs

Ma, in fondo la chiave ad esso è la creazione di un valore "tipi di URL" nel file .plist.Ecco come si presenta in XCode 5:

URL types

In questo esempio, ho registrato il prefisso MKB, così ora, posso utilizzare questo nuovo tipo di URL in collegamenti ipertestuali su pagine web, e-mail (se ho letto una e-mail in app iPad mail):

Mail app

Se un utente tocca su uno di questi link, il mio iPad applicazione si avvia, e posso accedere alla stringa URL completo, per estrarre gli altri parametri dall'URL (es. "DocumentNumber = 100")

L'unico punto è che devo ancora capire come prova se un utente ha un app iPad installata che può riconoscere un particolare prefisso.

Se non hanno, e toccare su uno di questi MKB: // link sul loro iPad, si otterrà un messaggio di errore brutta:

Nope

+1

Wow, fantastica spiegazione sul tuo blog. Questo mi ha salvato circa 2 ore. GRAZIE!! – Wirsing

+0

Il fatto è che DOPO 'MKB: //' ci DEVE essere qualsiasi cosa. –