Ios 当织物对其进行初始化时,发动机罩下会发生什么';s模块(Crashlytics/Twitter)?

Ios 当织物对其进行初始化时,发动机罩下会发生什么';s模块(Crashlytics/Twitter)?,ios,objective-c,crashlytics,twitter-fabric,google-fabric,Ios,Objective C,Crashlytics,Twitter Fabric,Google Fabric,我想将Crashlytics(3.9.3)集成到内部库中,但我面临以下情况: 我们正在使用的一个内部库已经将TwitterKit(2.2.0)与Fabric(1.6.7)结合使用。这意味着它已经在使用以下方法进行初始化: [Fabric with:@[[Twitter class]]] 现在,这意味着我们不能以同样的方式初始化Crashlytics,因为Twitter初始化将不被考虑,因为“Fabric with”方法将在后续调用中被忽略 我知道最好的方法是在主应用程序中调用fabric,如下

我想将Crashlytics(3.9.3)集成到内部库中,但我面临以下情况: 我们正在使用的一个内部库已经将TwitterKit(2.2.0)与Fabric(1.6.7)结合使用。这意味着它已经在使用以下方法进行初始化:

[Fabric with:@[[Twitter class]]]
现在,这意味着我们不能以同样的方式初始化Crashlytics,因为Twitter初始化将不被考虑,因为“Fabric with”方法将在后续调用中被忽略

我知道最好的方法是在主应用程序中调用fabric,如下所示:

[Fabric with:@[[Twitter class], [Crashlytics class]]];
但在我们的例子中,希望不影响已经使用旧库的应用程序,并保持兼容性

现在,替换当前的Fabric Twitter初始化并添加Crashlytics初始化,这样的遗留方法安全吗

// replace original with this with info taken from Info.plist
[[Twitter sharedInstance] startWithConsumerKey:consumerKey
                                consumerSecret:consumerSecret];
// in another place
[Crashlytics startWithAPIKey:@"a1b2c3..."];
fabric除了上面提到的功能外,还有其他功能吗?或者它只是解析info.plist中的键并初始化框架?我们应该担心什么问题吗?测试了一下,看起来还可以

另外,我知道Twitter不再是最新结构的一部分,但我们在这里使用的是一些旧版本


我还注意到,如果我们保持“Fabric with Twitter”部分不变,并使用“startWithAPIKey”方法初始化Crashlytics,Twitter将无法正常初始化。

Mike from Fabric here。您的方法可能有效,但可能会导致许多问题,因为我们尚未使用该版本的Twitter测试Fabric的任何最新版本,因此您可能会看到奇怪的SDK行为

Fabric公司的迈克。您的方法可能有效,但可能会导致许多问题,因为我们尚未使用该版本的Twitter测试Fabric的任何最新版本,因此您可能会看到奇怪的SDK行为

谢谢你对这件事的回答。在这种情况下,最好的方法可能是将Twitter升级到最新版本,这样我们就不会有奇怪的行为,并避免将来在库中包含结构子模块初始化。我同意这是最好的方法。现在可能需要做更多的工作,但我认为这将使你和团队在未来免受很多痛苦。谢谢你对此事的回答。在这种情况下,最好的方法可能是将Twitter升级到最新版本,这样我们就不会有奇怪的行为,并避免将来在库中包含结构子模块初始化。我同意这是最好的方法。现在可能需要做更多的工作,但我认为这将使你和团队在未来避免很多痛苦。