我的应用程序上有这行代码的didFinishLaunchingWithOptions委托方法,它导致崩溃说:
' [Fabric] Info.plist键的值" Fabric"必须是NSDictionary。'
任何人都可以帮我这个吗?
这是造成崩溃的代码:
[[Twitter sharedInstance] startWithConsumerKey:@"consumer_key" consumerSecret:@"secret_key"];
[Fabric with:@[[Twitter sharedInstance]]];
答案 0 :(得分:16)
Alex来自Fabric。要使用在apps.twitter.com上生成的不同Twitter API密钥或API密钥,您可以在上面的代码中正确声明它。听起来您可能没有通过Fabric应用程序完全启用您的应用程序,并且APIKey
中缺少必需的条目,例如Fabric info.plist
。
有关Fabric Mac App和info.plist的更多信息:
当您通过Mac App登录套件时,Fabric
字典条目会被注入您的info.plist
。在Fabric
父级下,将有两个子条目:APIKey
和Kits
。
您的Fabric API密钥,如果由于某种原因未注入(如果您正在使用Fabric应用程序,则应自动添加),或者您想手动更改它,可以通过访问https://fabric.io/settings/organizations,点击您的组织并点击组织标题下方的“API密钥”。
Kits
数组包含您已包含的每个Fabric工具包的Item X
。如果您已包含Twitter Kit,则自动配置的consumerKey和consumerSecret列在KitInfo
下。
答案 1 :(得分:3)
我按照上述步骤操作,但仍然收到此错误
未捕获的异常'TWTRInvalidInitializationException',原因: '在调用必要条件之前尝试调用TwitterKit方法 开始方法;你必须先调用+ [Fabric with:@ [Twitter class]] 使用TwitterKit上的方法
当我使用多个套件时,我尝试按如下方式初始化不同的呼叫
[Fabric with:@[[Crashlytics class]]];
[Fabric with:@[[Twitter class]]];
根据+(instancetype)的Fabric文档,使用:(NSArray *)kitClasses;
只有第一次调用此方法才会受到尊重。随后的电话是 空操作。 因此,只有Crashlytics正在初始化并且Twitter被忽略了。
解决方案初始化如下;
[Fabric with:@[[Crashlytics class], [Twitter class]]];