私有API获取当前设备下载的app及下载进度

个人免费API网站 API网站 https://wrongmaker.top, 注册码可能在垃圾箱,用户名不能有特殊字符及中文。 目前支持的API如下(均采用json格式): 天气查询API; mac地址查询API; IP地址查询API; 手机归属地查询API; 每天一首诗API; ... 阅读详情
私有API获取当前设备下载的app及下载进度

涉及到的两个.h
LSApplicationWorkspace 扫描系统中所有app的状态
LSApplicationProxy 应用下载进度


#import <dlfcn.h>
#import "LSApplicationProxy.h"
#import "LSApplicationWorkspace.h"

-(void)updateInstallList
{
    void *lib = dlopen("/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices", RTLD_LAZY);

    if (lib)
    {
        // 私有APi 获取当前安装应用列表
        Class LSApplicationWorkspace = NSClassFromString(@"LSApplicationWorkspace");
        id AAURLConfiguration1 = [LSApplicationWorkspace defaultWorkspace];

        if (AAURLConfiguration1)
        {
            id arrApp = [AAURLConfiguration1 allApplications];

            for (int i=0; i<[arrApp count]; i++)
            {    
                LSApplicationProxy *LSApplicationProxy = [arrApp objectAtIndex:i];
                NSString* bundleId =[LSApplicationProxy applicationIdentifier];
               //获取app安装进度
                NSProgress *progress = (NSProgress *)[LSApplicationProxy installProgress];
                InstallingModel *model = [self getInstallModel:bundleId];
                //根据下载进度 查看是否是正在下载
                if (progress)
                {
                    if (model)
                     {
                        model.progress = [progress localizedDescription];
                        model.status  =  [NSString stringWithFormat:@"%@",[[progress userInfo] valueForKey:@"installState"]];
                    }
                    else
                    {
                        InstallingModel *model = [[InstallingModel alloc] init];

                        model.bundleID = bundleId;
                        model.progress = [progress localizedDescription];
                        model.status  = [NSString stringWithFormat:@"%@",[[progress userInfo] valueForKey:@"installState"]];

                        [_installAry addObject:model];
                    }

                }
                else
                {

                    [_installAry removeObject:model];
                }
            }
        }

        if (lib) dlclose(lib);
    }

}

-(InstallingModel *)getInstallModel:(NSString *)bunldID
{
    for (InstallingModel *model in _installAry)
    {    
        if ([model.bundleID isEqualToString:bunldID])
        {    
            return model;
        }
    }

    return nil;
}
纯血鸿蒙APP 实战开发——在Native侧实现进度通知功能 本示例通过模拟下载场景介绍如何将Native的进度信息实时同步到ArkTS侧。如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。 阅读详情

相关推荐

HarmonyOS NEXT开发实战:在Native侧实现进度通知功能

本示例通过模拟下载场景介绍如何将Native的进度信息实时同步到ArkTS侧。

m0_72493819的博客 1061

iOS-私有API与runtime

序 有朋友在做类似iTool的功能,跟我聊起来,这几天闲,就写了一个demo,不是正经做这个,还很粗略,具体干货诸位等这位朋友自己发文吧。 DEMO https://github.com/liulishuo/testAppList 思路 iOS9白名单的上限是50个,如果想绕过这个限制,扫描系统中所有app的状态,只有使用私有API,需要用到的类有两个:LSAppli

lishichao706的专栏 752

ImageNet分类实战:用PyTorch复现AlexNet的5个关键技巧(附代码)

本文详细介绍了使用PyTorch复现经典AlexNet模型进行ImageNet图像分类的五个关键工程技巧。内容涵盖模型架构的现代重构、训练策略优化、核心组件实现与替代方案,以及实用的训练调试方法,并提供了完整的代码示例,帮助开发者深入理解深度卷积神经网络的实现细节与优化思路。

i0j1k2l3m的博客 94

那些需要你知道的iOS开发相关知识(二)

4、http TCP/IP  UDP/IP 协议,以及socket 网络模型有两种,一种是五层模型和国际标准化的七层模型。 七层模型: 应用层:网络服务与最终用户的一个接口。协议有 http ftp tftp smtp dns。 表示层:数据的表示、安全、压缩。(在五层模型里已经合并到了应用层);格式有,jpeg,asii,decoic,加密格式等。 会话层:建立、管理、终止会话

Ji晶晶的博客 1041

星光、黑光、全彩夜视摄像头技术解析与实战选型指南

本文深入解析了星光、黑光、全彩与红外等主流夜视摄像头技术的工作原理与核心差异。针对不同监控场景与预算,提供了实战选型指南,帮助用户在安防项目中做出明智决策,实现夜间监控效果最大化。

weixin_29179311的博客 346

深入了解AES_GCM算法

常见的对称加密算法,在解密过程中无法确认密钥是否正确的。这就意味着,密文可以用任何密钥执行解密运算,得到一组疑似密文;由于不知道密钥是否正确,故也不能确定解密出来的明文数据是否正确。因此,需要在对称加密算法上增加一层验证机制,常见思路为使用加密算法进行加密保证机密性,使用摘要算法计算MAC保证完整性和真实性,这就涉及到摘要计算和加密计算的前后顺序和参与计算的数据、密钥等,使用起来略微麻烦。

huaqianzkh的专栏 4187

iPhone获取手机里面所有的APP(私有库)+ 通过包名打开应用

1.获取到手机里面所有的APP包名 - (void)touss { Class lsawsc = objc_getClass("LSApplicationWorkspace"); NSObject* workspace = [lsawsc performSelector:NSSelectorFromString(@"defaultWorkspace")]; ...

weixin_30478619的博客 630

微机原理-基于8086电压报警2.5V仿真系统设计

*单片机设计介绍,微机原理-基于8086电压报警2.5V仿真系统设计。

2201_75940997的博客 1083

iOS 全息备份研究

一、获取手机中app列表1、获取iPhone中所有安装的APP获取iPhone手机中安装的所有App苹果没有提供直接的方法,但是可以通过苹果私有的api获取到。代码如下:Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");NSObject *workspace = [LSApplicationWor

长沙火山 4782

BQ4050开发进阶(二):Protections参数优化策略与实战解析

本文深入解析了BQ4050电池管理芯片中Protections参数的优化策略与实战方法。针对电压、电流、温度等核心保护功能,详细阐述了如何根据具体电芯特性、负载场景和环境因素,精细调整CUV、COV、OCC/OCD等阈值与延时,以在确保电池绝对安全的前提下,实现极致的用户体验与系统可靠性。

rgv234567的博客 480

不用写代码!用AIStarter 5.0.0离线包部署InfiniteTalk的完整指南(Windows/Mac/Linux全平台)

本文详细介绍了如何使用AIStarter 5.0.0离线包在Windows、Mac和Linux平台上零代码部署InfiniteTalk数字人。从环境准备、离线资源获取与验证,到全平台部署实操指南,提供了完整的本地化安装流程和优化建议,帮助用户快速实现AI项目的一键部署。

weixin_30275415的博客 273

uniapp 开发的app检测版本实现自动下载更新(展示下载进度)

目录前言检测是安卓还是ios版本号对比直接调用默认浏览器打开下载地址的方法完整检测更新和下载文件代码data部分 前言 组件库环境:uview 1x 检测是安卓还是ios 首先在onload中检测是安卓还是ios,ios的话 要做啥操作另外修改一下,这里主要是针对apk的更新 onLoad() { //检测更新 const type = uni.getSystemInfoSync().platform console.log(type, '机型') type == 'ios' ? '' : this

Codernmx 6767

AI上推荐 之 逻辑回归模型与GBDT+LR(特征工程模型化的开端)

1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产者:如何让自己生产的信息脱颖而出, 受到广大用户的关注? 为了解决这个矛盾, 推荐系统应时而生, 并飞速前进,在用户和信息之间架起了一道桥梁,一方面帮助用户发现对自己有价值的信息, 一方面让信息能够展现在对它感兴趣的用户前面。 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协

Miracle8070 8251

MUI混合开发——更新下载app时,系统状态栏显示下载进度

一、最开始的想法 本来最开始公司使用mui制作的app,没有系统状态栏显示下载进度的,后来突发奇想想要实现像qq等app下载更新或消息提示等在系统状态栏显示的效果,特意去研究了下。 在H5+plus api中没有发现存在有设置系统通知栏的支持,于是采取android开发的方式,实现功能。 大致功能描述: 大致就是这种操作啦,下面像大家展示插件开发的方式实现上述功能。 二、系统通...

专注写bug 3479

Arcgis建筑面shp由DSM和DEM获取高度拉伸并可视化

Arcgis建筑面shp由DSM和DEM获取高度拉伸并可视化

yilvyangguang520的博客 3990

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

基于App Store API的IPA文件自动化下载架构设计与实现

ipatool作为一款命令行工具,通过直接对接Apple App Store API,为iOS开发者提供了高效的IPA文件自动化下载解决方案。该工具采用Go语言实现,具备跨平台兼容性,支持Windows、Linux和macOS系统,通过模块化架构设计实现了App Store交互的完整工作流。 ## 技术挑战与架构设计 ### 传统IPA获取的痛点分析 传统iOS应用包获取方式存在多重技术瓶颈:

gitblog_00704的博客 983

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

如何用PakePlus实现高效跨平台文件下载与进度监控:完整指南

PakePlus是一款强大的工具,能够轻松将任意网站、HTML、Vue、React等项目构建为轻量级(小于5M)多端桌面应用和手机应用,整个过程仅需几分钟。本文将详细介绍如何利用PakePlus实现高效的跨平台文件下载与进度监控功能,帮助开发者和用户更好地管理文件下载过程。 ## 开启TauriApi:实现下载功能的前提 在使用PakePlus的文件下载功能之前,需要确保已开启全局TauriA

gitblog_00694的博客 705

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

uni-app多端文件下载保存方案:H5与小程序进度条实现与封装

文件下载与本地存储是移动应用开发中的基础功能,其核心原理是通过网络请求获取服务器资源并持久化到设备。在混合开发场景下,由于不同平台(如H5浏览器与微信小程序)的底层API与权限模型存在显著差异,实现一套统一、流畅的下载体验面临诸多挑战。H5端主要依赖XMLHttpRequest或Fetch API进行网络请求,并通过Blob对象处理二进制数据,但其文件系统访问权限受限;微信小程序则提供了wx.downloadFile等原生API,能力更强但受限于域名白名单。从技术价值看,一套封装良好的多端下载方案能显著提升

cmff98425的博客 395

uni-app 常用 API 完全指南:从基础到高级应用

uni-app 常用API完全指南

Yue 1254

Authy API协议详解:从设备注册到密钥获取的完整流程

Authy作为一款流行的双因素认证工具,其API协议为开发者提供了访问TOTP密钥的能力。本文将详细解析Authy API协议的核心流程,包括设备注册、状态检查和密钥获取的完整步骤,帮助开发者快速掌握这一实用工具的使用方法。 ## 一、设备注册:建立安全连接的第一步 设备注册是使用Authy API的首要环节,通过`RequestDeviceRegistration`函数实现。该函数需要用户I

gitblog_00562的博客 932

如何查看自己 Android App 的私有数据?从 `adb backup` 到数据提取全过程

通过adb backupabe.jar,我们可以在无需 root 的情况下获取并分析 App 的私有数据,非常适合开发调试阶段使用,或者用于临时排查用户问题。

leptune99的博客 2143

uniapp 安卓app升级下载安装(只包含功能,并不涉及优化)

uniapp 安卓app升级下载安装

2301_76878256的博客 1101

零基础学会uni-app文件下载功能开发

安卓和iOS对文件存储的处理略有差异,测试时需注意:安卓需要动态申请存储权限,iOS则要注意沙盒机制限制。最近在学uni-app开发时,发现文件下载是个常用但新手容易卡壳的功能。上实践时发现,它的真机调试功能能快速验证不同设备的表现,遇到问题修改代码后也能立即看到效果,对新手特别友好。像文件下载这种需要真机测试的功能,用网页版模拟器和真机同步调试,效率比传统开发方式高很多。最后分享一个优化思路:实际项目中可以把下载功能封装成组件,通过props接收文件URL和配置参数,通过emit事件反馈状态。

SapphireOwl29的博客 798

安卓通知栏显示下载进度(兼容安卓8.0系统)

加

qq_36356379的博客 1729

Progress 鸿蒙 进度条组件完全指南:线性/环形进度、下载管理器与实时更新

数据单一来源progress 是唯一真相源,百分比、已下载量、剩余时间全部由它推导,不存副本。样式即数据type/strokeWidth/color 走状态绑定,运行时可调,响应式地表达进度形态。平滑交给框架enableSmoothEffect 负责插值补帧,业务侧只做低频推进,避免高频重绘。确定给数字,不确定给动画可确定总量的任务用 Progress,未知时长的操作用 LoadingProgress,绝不伪造进度。进度条的本质不是"画一条线",而是"管理一个状态机"——状态机稳定,界面自然顺滑。扩展方向。

2301_80388658的博客 296

跨设备视频播放进度同步技术深度解析:打造无缝追剧体验

Kazumi是一款基于自定义规则的番剧采集APP,支持流媒体在线观看和弹幕功能,其核心优势在于实现了跨设备视频播放进度同步,让用户在不同设备间切换时能够无缝继续观看内容。本文将深入解析这一技术的实现原理、应用场景及操作方法。 ## 为什么需要跨设备播放进度同步? 在多设备时代,用户通常会在手机、平板、电脑等不同终端间切换观看视频。传统播放方式下,用户需要记住上次观看的时间点,在新设备上手动定位

gitblog_00232的博客 946
上一篇: 我们是如何在技术部门引入OKR的
下一篇: Opengl ES 三种类型修饰
Philm_iOS
博客等级 码龄8年 74粉丝 53原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值