iOS开发点滴iOS 开发继续加油iOS开发知识小集

iOS中企业签名和正常App Store方式发布APP的设备唯一

2019-07-01  本文已影响2人  小蜜蜂Bee

在我们日常开发中可能还会涉及到设备唯一ID的情况,就是用户的账号首次要和设备绑定,然后后面就不能再绑定其他设备了,关于设备唯一性的介绍可点击这个链接进行查看,我就不再累述了。
设备唯一性ID介绍(点我点我)

这里我要说明的是一种实际情况,那就是当我们的APP采用企业签名的时候,就是不上架到App Store发布,这个时候可能会遇到一种情况,当我们的APP掉线后使用其它的企业号再次进行了签名,这样就可能出现设备号不一样的情况。上文中讲述了好几种方式,下面我讲一下两种情况下设备唯一性的采用方案:
一、上架到App Store进行发布
采用文中使用keychain进行保存的方式,相关demo和方法我也从github给大家准备了一个,仅供大家参考。
获取UUID的demo

这种方式对于上架到App Store的APP是很实用的!

二、采用企业号签名进行发布的APP
采取企业号签名方式发布的APP,如果能保证100%不掉线的话,方式一的方法也是可以的,但是采用企业号签名的方式很难保证100%不掉线,所以这个时候我们就要换一种思路了,经过实测对比和理论结合实际分析,推荐的方式是使用广告标识符,使用这个作为签名发包APP的设备唯一ID。

#import <AdSupport/AdSupport.h>
    NSString *adId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];

不过为了使用方便,我已经在实际中写成了单例的形式来使用,同时奉上代码:
.h文件,如下:

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface MZGetADID : NSObject

+(NSString *)getUUID;

@end

NS_ASSUME_NONNULL_END

.m文件,如下:

#import "MZGetADID.h"
#import <AdSupport/AdSupport.h>


@implementation MZGetADID

//获取广告唯一标识
+(NSString *)getUUID{
 
    NSString *adId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
    
    DLog(@"adId:%@",adId);
    
    return adId;
}



@end

希望以上对大家有所帮助,同时如果需要进行企业签名不上架App Store就进行发布APP的大家也可以联系我,QQ:834537795.(小蜜蜂)

上一篇下一篇

猜你喜欢

热点阅读