Ho effettuato un'estensione di oggi che scarica articoli da un feed e visualizza gli ultimi. Il tutto ha funzionato bene su iOS 8, funzionava ancora su iOS 8.1, poi è arrivato iOS 8.1.2 e abbiamo iniziato a lamentarci dell'estensione di oggi che non funziona più. Ho provato il debug su iOS 8.1.2 dispositivi, e prima che l'estensione anche lanciare, si blocca con questo errore:L'estensione di oggi si blocca prima dell'avvio su iOS 8.1.2
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: <__NSConcreteUUID 0x174027280> 5AFB07AB-5DCD-46FE-8D07-44DE0F3789F2)'
Ho letto questo post sugli errori frequenti che accadono quando si sviluppa un oggi un'estensione: http://www.atomicbird.com/blog/ios-app-extension-tip
nel suo post, Tom Harrington dice:
in iOS 8 (e altre versioni più recenti), consentendo moduli impostazioni di generazione di Xcode significa che non c'è bisogno di elencare esplicitamente tutti i quadri che si desidera utilizzare. Verranno trovati automaticamente.
Ma questo non è il caso di NotificationCenter.framework, che utilizzano le estensioni di oggi. Se lo rimuovi dalle impostazioni di generazione, non riceverai alcun avviso o errore di build. Ma quando provi a caricare l'estensione, otterrai un'eccezione da libextension.dylib e l'estensione non verrà caricata. Il messaggio di eccezione non è illuminante:
2014-08-16 12: 06: 53,793 TodayTestExtension [41313: 6.111.763] * terminazione applicazione a causa di eccezione non identificata 'NSInvalidArgumentException', la ragione: '* setObjectForKey: oggetto non può essere nil (chiave: < __NSConcreteUUID 0x7fd729422390> ED3B42F8-66CD-4CB0-BCD5-F3DBA6F34DB5) ' Se si sta eseguendo un'estensione di oggi, lasciare tale framework nelle impostazioni di compilazione. Non dovrebbe essere necessario, ma lo fa.
La mia estensione include NotificationCenter.framework nelle sue impostazioni di compilazione, ma ho il sospetto che il mio problema potrebbe essere simile in qualche modo.
Chiunque ha riscontrato un problema simile? Qualche idea su come risolverlo?
Wow, è scoraggiante. Sembra esattamente la stessa cosa, ma è l'unica cosa che so che potrebbe causare questo problema. –
Queste lamentele sono state segnalate dagli utenti "sul campo" o da persone che eseguono build di test della tua app? In primo luogo sarebbe un bug 8.1.2 e non ci sarebbe molto da fare. Nel secondo, potrebbe essere un problema Xcode che potrebbe essere risolvibile. –