美文网首页iOS开发点滴iOS 开发继续加油iOS开发知识小集
iOS中企业签名和正常App Store方式发布APP的设备唯一

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

作者: 小蜜蜂Bee | 来源:发表于2019-07-01 16:07 被阅读2次

    在我们日常开发中可能还会涉及到设备唯一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.(小蜜蜂)

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/bpogcctx.html