Ошибка приложения при использовании Fabric и TwitterKit
У меня есть эта строка кода в моем приложении didFinishLaunchingWithOptions делегировать метод, и он вызывает сбой:
'[Ткань] Значение ключа Info.plist "Ткань" должно быть NSDictionary.'
Кто-нибудь может помочь мне с этим?
Вот код, вызывающий сбой:
[[Twitter sharedInstance] startWithConsumerKey:@"consumer_key" consumerSecret:@"secret_key"];
[Fabric with:@[[Twitter sharedInstance]]];
Ответы
Ответ 1
Алекс от Ткань здесь. Чтобы использовать разные ключи API Twitter или ключи API, созданные на сайте apps.twitter.com, вы объявляете это правильно в своем коде выше. Похоже, что вы не можете полностью загрузить ваше приложение через приложение Fabric, и требуемые записи, такие как Fabric APIKey
, отсутствуют в вашем info.plist
.
Дополнительная информация о приложении Mac Fab и файле info.plist:
Когда вы загружаете комплект через приложение Mac, в info.plist
вводится запись Fabric
Словарь. Под родителем Fabric
будут записаны две дочерние записи: APIKey
и Kits
.
![введите описание изображения здесь]()
Ключ API Fabric, если он по какой-либо причине не был добавлен (он должен быть добавлен автоматически, если вы используете приложение Fabric), или вы хотите его вручную изменить, можно найти, посетив https://fabric.io/settings/organizations, нажав на свою организацию и нажав "Ключ API" под заголовком организации.
Массив Kits
содержит Item X
для каждого набора ткани, который вы включили. Если вы включили Twitter Kit, автоматически предоставленные consumerKey и consumerSecret перечислены в разделе KitInfo
.
Ответ 2
Я выполнил шаги, описанные выше, но все еще получал эту ошибку
uncaught exception 'TWTRInvalidInitializationException', причина: "Попытка вызвать методы TwitterKit, прежде чем называть требуемый методы запуска; вы должны позвонить + [Ткань с: @[Twitter class]] до используя методы на TwitterKit
Поскольку я использую несколько наборов, я попытался инициализировать различные вызовы следующим образом
[Fabric with:@[[Crashlytics class]]];
[Fabric with:@[[Twitter class]]];
В соответствии с документацией на ткани для + (instancetype) с: (NSArray *) kitClasses;
Выполняется только первый вызов этого метода. Последующие звонки нет-OPS. Таким образом, только Crashlytics инициализировалась, и Twitter был проигнорирован.
Решение должно было инициализироваться следующим образом:
[Fabric with:@[[Crashlytics class], [Twitter class]]];