2016-03-12 10 views
10

Ho impostato gruppi di app sia per la mia app host che per l'estensione di condivisione. L'identificativo è simile a "group.com.abc.xyzApp". C'è un modo per ottenere questa stringa in modo programmatico? Inoltre, come posso rilevare se i gruppi di app sono impostati a livello di programmazione? Sta provando a inizializzare un contenitore di file o le impostazioni predefinite dell'utente con l'identificatore del gruppo di app abbastanza da sapere? Ad esempio:C'è un modo per ottenere l'identificativo del gruppo di app dall'app host e condividere l'estensione su iOS?

[[NSUserDefaults alloc] initWithSuiteName:@"group.com.abc.xyzApp"].

+0

Ciao @Shwethascar, hai trovato la soluzione? –

+0

@ W.S no non l'ho fatto. Ho finito per utilizzare le stringhe preimpostate per gli identificatori. – Shwethascar

+0

NSString * percorso = [[NSBundle mainBundle] pathForResource: @ "MyApplicationTargetName" ofType: @ "entitlement"]; NSDictionary * dict = [[NSDictionary alloc] initWithContentsOfFile: percorso]; NSArray * appGroups = [dict objectForKey: @ "com.apple.security.application-groups"]; Sono stato in grado di leggere l'array di gruppi utilizzando il codice precedente. ora sto provando a trovare il nome del file delle autorizzazioni in modo programmatico, quindi sia WatchKit Extension che App leggono il suo gruppo di applicazioni in modo programmatico senza una stringa hard-coded. –

risposta

0

Non si può rilevare se si ottiene qualcosa programatically, ma penso che questo non è molto utile.

Perché è necessario modificare questo? dall'ambiente forse? Se è così, è possibile farlo da variabili di progetto e quindi aggiungere questo al vostro info.plist

enter image description here

enter image description here

Più tardi si può ottenere con:

main.object(forInfoDictionaryKey: "AppGroupId") as? String 

Spero che questo aiuta