首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facebook [FBAppEvents activateApp]随机崩溃

Facebook [FBAppEvents activateApp]随机崩溃
EN

Stack Overflow用户
提问于 2014-08-12 12:02:07
回答 1查看 730关注 0票数 2

我使用Facebook v3.14。我随机找到了[FBAppEvents activateApp]崩溃的方法。因为[FBAppEvents activateApp]应该在- (void)applicationDidBecomeActive:(UIApplication *)application中写入

我们的applicationDidBecomeActive应该是每天约1亿次,大约10天,[FBAppEvents activateApp]崩溃大约1K次。

坠机日志在这里,任何人都能帮我,塞克斯。

代码语言:javascript
复制
type: signal
subtype: SIGSEGV
shavalue: 1ebce91b2b00be8084bb4cae3b666f4c
content:
    •   Crashed thread 0x00000000
    •   0 Weibo 0x00718df5 -[WBRecordCrashLog p_updateBacktraceToDictionary:fromSigalCode:] + 408
    •   1 Weibo 0x00718757 signalHandler + 298
    •   2 libsystem_platform.dylib 0x38317f8b _sigtramp + 34
    •   3 CoreFoundation 0x2d4e1105 + 76
    •   4 UIKit 0x3016d039 + 236
    •   5 Weibo 0x00a0d349 +[FBUtility attributionID] + 44
    •   6 Weibo 0x00a282e5 +[FBSettings publishInstall:withHandler:isAutoPublish:] + 456
    •   7 Weibo 0x00a28119 +[FBSettings publishInstall:withHandler:] + 44
    •   8 Weibo 0x00a3949f +[FBAppEvents activateApp] + 34
    •   9 Weibo 0x0014b60d -[TweetterAppDelegate applicationDidBecomeActive:] + 40
    •   10 UIKit 0x2fe3f6bb + 374
    •   11 UIKit 0x2fe2a6e1 + 1088
    •   12 UIKit 0x2fdc66e9 + 3540
    •   13 UIKit 0x2fdc5851 + 72
    •   14 UIKit 0x2fe29ca9 + 616
    •   15 GraphicsServices 0x323fbaed + 608
    •   16 GraphicsServices 0x323fb6d7 + 34
    •   17 CoreFoundation 0x2d56ea67 + 34
    •   18 CoreFoundation 0x2d56ea03 + 346
    •   19 CoreFoundation 0x2d56d1d7 + 1398
    •   20 CoreFoundation 0x2d4d7ebf CFRunLoopRunSpecific + 522
    •   21 CoreFoundation 0x2d4d7ca3 CFRunLoopRunInMode + 106
    •   22 UIKit 0x2fe28ed1 + 760
    •   23 UIKit 0x2fe2414d UIApplicationMain + 1136
    •   24 Weibo 0x001723db main + 58
    •   25 Weibo 0x00147c04 start + 40

我已经下载了Facebook的源代码,[FBUtility attributionID]在这里:

代码语言:javascript
复制
+ (NSString *)attributionID {
    return [[UIPasteboard pasteboardWithName:@"fb_app_attribution" create:NO] string];
}

我找到了一些医生,没有医生告诉我pasteboardWithName[UIPasteboard string]会导致崩溃

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-21 10:51:07

我已经防御了崩溃使用方法Swizzling与我的自定义方法交换方法(+[FBUtility attributionID])。

代码如下:

Appdelegate.m

代码语言:javascript
复制
Method leftMethod = class_getClassMethod(NSClassFromString(@"FBUtility"), NSSelectorFromString(@"attributionID"));
Method rightMethod = class_getClassMethod(NSClassFromString(@"MyHackFBUtility"), NSSelectorFromString(@"attributionID"));
method_exchangeImplementations(leftMethod, rightMethod);

MyHackFBUtility.m

代码语言:javascript
复制
+ (NSString *)attributionID {

    return nil;
}

而且持续了几个月

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25263781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档