ios - studio - Error de aplicación al usar Fabric y TwitterKit
twitterkit ios github (2)
Alex de Fabric aquí. Para utilizar diferentes claves API de Twitter o claves API generadas en apps.twitter.com, lo declaras correctamente en tu código anterior. Parece que no ha cargado completamente su aplicación a través de la aplicación Fabric, y las entradas necesarias, como APIKey
, faltan en su info.plist
.
Más información sobre la aplicación Fabric Mac y sobre info.plist:
Cuando incorpora un kit a través de la aplicación Mac, se info.plist
una entrada en el Diccionario de Fabric
en su info.plist
. Debajo del padre de Fabric
, habrá dos entradas de niños: APIKey
y Kits
.
Su clave Fabric API, si no se ha inyectado por algún motivo (debe agregarse automáticamente si está usando la aplicación Fabric) o si desea cambiarla manualmente, se puede encontrar visitando https://fabric.io/settings/ organizaciones , hacer clic en su organización y hacer clic en "Clave de API" debajo del título de la organización.
El conjunto de Kits
contiene un Item X
para cada kit Fabric que haya incluido. Si ha incluido el Kit de Twitter, el consumerKey suministrado automáticamente y el consumerSecret se enumeran en KitInfo
.
Tengo esta línea de código en mi aplicación método de delegado didFinishLaunchingWithOptions y provoca un bloqueo diciendo:
''[Fabric] Valor de la clave Info.plist "Fabric" debe ser un NSDictionary.''
¿Alguien puede ayudarme con esto?
Aquí está el código que causa el bloqueo:
[[Twitter sharedInstance] startWithConsumerKey:@"consumer_key" consumerSecret:@"secret_key"];
[Fabric with:@[[Twitter sharedInstance]]];
Seguí los pasos como se describió anteriormente, pero aún estaba recibiendo este error
excepción no detectada ''TWTRInvalidInitializationException'', razón: ''Intento llamar a los métodos de TwitterKit antes de llamar a los métodos de inicio requeridos; debe llamar a + [Fabric with: @ [clase de Twitter]] antes de usar los métodos en TwitterKit
Como estoy usando varios kits intenté inicializar en diferentes llamadas de la siguiente manera
[Fabric with:@[[Crashlytics class]]];
[Fabric with:@[[Twitter class]]];
Según la documentación de Fabric para + (tipo de instancia) con: (NSArray *) kitClasses;
Solo se respeta la primera llamada a este método. Las llamadas posteriores son no-ops. Así que solo Crashlytics se estaba inicializando y Twitter fue ignorado.
La solución era inicializar de la siguiente manera;
[Fabric with:@[[Crashlytics class], [Twitter class]]];