From 8e259e3e8ef561a83262d85261359b8909da61e0 Mon Sep 17 00:00:00 2001 From: Sunnyyoung Date: Fri, 26 Oct 2018 19:59:58 +0800 Subject: [PATCH] Fixed a crash due to alfred avatar displaying --- WeChatTweak/Supporting Files/WeChatTweakHeaders.h | 6 ++++++ WeChatTweak/WeChatTweak.m | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/WeChatTweak/Supporting Files/WeChatTweakHeaders.h b/WeChatTweak/Supporting Files/WeChatTweakHeaders.h index 6aa82ad..4906121 100644 --- a/WeChatTweak/Supporting Files/WeChatTweakHeaders.h +++ b/WeChatTweak/Supporting Files/WeChatTweakHeaders.h @@ -28,6 +28,12 @@ @end +@interface PathUtility : NSObject + ++ (NSString *)GetCurUserDocumentPath; + +@end + @interface MMSearchResultItem : NSObject @property(nonatomic) unsigned long long type; // 0 is single chat, 1 is group chat diff --git a/WeChatTweak/WeChatTweak.m b/WeChatTweak/WeChatTweak.m index 0dba5c1..7159d1c 100755 --- a/WeChatTweak/WeChatTweak.m +++ b/WeChatTweak/WeChatTweak.m @@ -206,8 +206,10 @@ static void __attribute__((constructor)) tweak(void) { #pragma mark - WCContact Data - (NSString *)wt_avatarPath { - MMAvatarService *avatarService = [[objc_getClass("MMServiceCenter") defaultCenter] getService:objc_getClass("MMAvatarService")]; - NSString *pathString = [NSString stringWithFormat:@"%@/%@", [avatarService avatarCachePath], [((WCContactData *)self).m_nsHeadImgUrl md5String]]; + if (![objc_getClass("PathUtility") respondsToSelector:@selector(GetCurUserDocumentPath)]) { + return @""; + } + NSString *pathString = [NSString stringWithFormat:@"%@/Avatar/%@.jpg", [objc_getClass("PathUtility") GetCurUserDocumentPath], [((WCContactData *)self).m_nsUsrName md5String]]; return [NSFileManager.defaultManager fileExistsAtPath:pathString] ? pathString : @""; }