美文网首页
iOS获取其他APP安装列表

iOS获取其他APP安装列表

作者: 咸鱼有只喵 | 来源:发表于2018-11-16 15:19 被阅读108次

iOS中获取其他APP安装状况是分析竞品的重要途径,推荐使用 系统的canopenUrl api,操作简单稳定;
首先需要拿到你想要获取app的Scheme,可以去知乎或其他网站去查阅,添加到你的infoPlist。也就是添加到白名单,然后获取列表;

具体代码如下:
info.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <string>tim</string>
    <string>mqqOpensdkSSoLogin</string>
       ...

</array>
</plist>

获取代码:我这里设置了扫描时间是一天一次

#import "BCYInstalledAppTrackManager.h"
#import "BCYFoundation.h"
#import "BCYTrackManager.h"
#import "Constants.h"
#import <UIKit/UIKit.h>

static NSString *const kBCYScanAppTimeKey = @"scan_app_time";
static NSUInteger const kBCYScanAppFrequencyHour = 24;

@implementation BCYInstalledAppTrackManager

+ (void)detectScheme {
    //上一次扫描时间戳
    NSDate *oldTime = (NSDate *)[USER_DEFAULTS objectForKey:kBCYScanAppTimeKey];
    //当前时间戳
    NSTimeInterval hours = -([oldTime timeIntervalSinceNow] / 3600);

    if (oldTime == nil || hours > kBCYScanAppFrequencyHour) {

        // app包名
        NSArray *schemes = @[
            @"iqiyi-acg", @"boodo", @"diyidanApp", @"uxinlive", @"kuaikan", @"comicreader", @"neteasecomic", @"LOFTER",
            @"wbdm-app", @"acfun", @"bilibili", @"baozoumanhua", @"buka", @"u17app", @"dongman"
        ];
        //扫描到的app
        NSMutableString *scaned = [[NSMutableString alloc] init];
        for (NSString *str in schemes) {
            NSString *urlString = [str stringByAppendingString:@"://"];
            if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:urlString]]) {
                NSString *trackString = [str stringByAppendingString:@"|"];
                [scaned appendString:trackString];
            }
        }
        // BDALOG_INFO(@"检测到竞品:%@",scaned);
        NSDictionary *dic = @{@"app_package_list" : scaned};
        //上报时候的时间
        NSDate *now = [NSDate date];
        [USER_DEFAULTS setObject:now forKey:kBCYScanAppTimeKey];
    }
}

@end

相关文章

网友评论

      本文标题:iOS获取其他APP安装列表

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