Commit 8f22a750 authored by jz's avatar jz

bugfix 兼容存储crash

parent fb9f2e62
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#import <AdSupport/ASIdentifierManager.h> #import <AdSupport/ASIdentifierManager.h>
#import <SAMKeychain/SAMKeychain.h> #import <SAMKeychain/SAMKeychain.h>
#import <GMCache/GMCache.h> #import <GMCache/GMCache.h>
#import "PhobosUtil.h"
//#import <AppTrackingTransparency/AppTrackingTransparency.h> //#import <AppTrackingTransparency/AppTrackingTransparency.h>
NSString *const KprivatePolicyNotification = @"gm_popup_private_policy_notification"; NSString *const KprivatePolicyNotification = @"gm_popup_private_policy_notification";
...@@ -21,6 +22,12 @@ NSString *const IDFA = @"idfa"; ...@@ -21,6 +22,12 @@ NSString *const IDFA = @"idfa";
// 默认获取不到的idfa // 默认获取不到的idfa
NSString *defaultIDFA = @"00000000-0000-0000-0000-000000000000"; NSString *defaultIDFA = @"00000000-0000-0000-0000-000000000000";
static dispatch_queue_t queue;
@interface PhobosDevice()
@property (class, nonatomic, strong) NSMutableDictionary *paramsDic;
@end
@implementation PhobosDevice @implementation PhobosDevice
#pragma mark - getIDFA #pragma mark - getIDFA
...@@ -139,8 +146,18 @@ NSString *defaultIDFA = @"00000000-0000-0000-0000-000000000000"; ...@@ -139,8 +146,18 @@ NSString *defaultIDFA = @"00000000-0000-0000-0000-000000000000";
#pragma mark - 钥匙串封装 #pragma mark - 钥匙串封装
+ (void)saveKeyChainWithValue:(NSString *)value service:(NSString *)service account:(NSString *)account { + (void)saveKeyChainWithValue:(NSString *)value service:(NSString *)service account:(NSString *)account {
[SAMKeychain setPassword:value forService:service account:account]; //避免在重复相同的key 重复设置
[SAMKeychain setAccessibilityType:kSecAttrAccessibleAlwaysThisDeviceOnly]; static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
queue = dispatch_queue_create("com.device.idfa.serial.queue", DISPATCH_QUEUE_SERIAL);
});
if (queue && [PhobosUtil isNonEmpty:service] && ![self checkIdfaIsNull:value]) {
dispatch_sync(queue, ^{
[SAMKeychain setPassword:value forService:service account:account];
[SAMKeychain setAccessibilityType:kSecAttrAccessibleAlwaysThisDeviceOnly];
});
}
} }
//根据 service 与账户keyChain 获取存储的值 //根据 service 与账户keyChain 获取存储的值
...@@ -151,4 +168,5 @@ NSString *defaultIDFA = @"00000000-0000-0000-0000-000000000000"; ...@@ -151,4 +168,5 @@ NSString *defaultIDFA = @"00000000-0000-0000-0000-000000000000";
+ (BOOL)showPrivatePolicy { + (BOOL)showPrivatePolicy {
return [GMCache fetchObjectAtDocumentPathWithkey:KprivatePolicyNotification]; return [GMCache fetchObjectAtDocumentPathWithkey:KprivatePolicyNotification];
} }
@end @end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment