[原创]静默安装 设备UDID 进程间通信 后台保活
发表于:
2021-8-16 09:15
24988
[原创]静默安装 设备UDID 进程间通信 后台保活
项目地址
功能
静默安装APP,卸载,打开,监听。
进程间通信。
获取设备UDID。
后台保活。
集成
直接使用1
pod
'KPAppMananger'
, :git
=
>
'692K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6x3h3W2u0A6k6$3S2@1x3e0t1K6i4K6u0r3d9#2m8m8M7s2m8y4j5h3&6S2L8X3N6W2M7W2)9J5k6h3N6A6N6q4)9J5y4H3`.`.
clone到本地1
2
git clone https:
/
/
github.com
/
LZRight123
/
KPAppMananger.git
pod
'KPAppMananger'
, :path
=
>
'../KPAppMananger'
<!-- ## 配置
copy script文件夹到项目目录
BuildPhases
-> Run Script
修改test.sh
和makefile
中的 TARGET_NAME="AutoDownload"
重要sh
sh script/test.sh
-->
用法
获取设备UDID1
2
3
[KPAppTool UDID]
/
/
获取设备信息,包括UDID 本机名称 机身颜色 等
[KPAppTool deviceInfo]
后台保活 Signing & Capabilities -> BackgroundModes -> Audio
```c
(BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions { [[KPBackgroundTaskUtils sharedInstance] playNoVoliceBackgroundTask]; return YES; }
(void)applicationDidEnterBackground:(UIApplication *)application { [[KPBackgroundTaskUtils sharedInstance] applicationDidEnterBackgroundTask:application]; } ```
操作app ```c /// 安装本地 [KPAppTool installAppWithIpaPath:self.ipaPath appIdentfier:nil block:^(NSString installDesc, NSString completionDesc) { //... }];
/// url [KPAppTool installAppWithRemoteURL:@"your ipa url" downloadProgress:nil completion:nil];
/// 卸载 [KPAppTool uninstallApplication:nil options:nil];
/// 打开 [KPAppTool openApplicationWithBundleID:nil];
1
2
3
4
5
6
7
8
9
10
11
12
-
IPC通知
```c
/
/
/
服务端:ping
[KPAppToolInstance pingTimeSecond:
3
];
[KPAppToolInstance registerIPCNotfication:@
"kp.test.pong"
callBack:^(NSString
*
name) {
/
/
....
}];
/
/
/
客户端
[KPAppToolInstance recevicePingCallBack:^(NSString
*
name) {
NSLog(@
"接收到了ping: %@"
, name);
[KPAppToolInstance postIPCNoftication:@
"kp.test.pong"
];
}];
进程间收发消息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[KPLocalConnect registerLisenerAtPort:
5555
callBack:^NSDictionary
*
_Nonnull(NSString
*
_Nonnull path, NSDictionary
*
_Nonnull query) {
if
([path isEqualToString:@
"/xxxpath"
]) {
return
@{
@
"path"
: path?:@"",
@
"quey"
: query?:@{},
};
}
return
@{
@
"msg"
: @
"path is error"
,
};
}];
/
/
/
客户端
[KPLocalConnect getAtPort:
5555
path:@
"xxxpath"
parameters:@{@
"key1"
: @
"value"
} completion:^(NSDictionary
*
_Nonnull response, NSError
*
_Nonnull error, NSURLSessionDataTask
*
_Nonnull task) {
NSLog(@
"response: %@"
, response);;
}];
代码已整理成pod上传,Example后面有空补上
[注意]看雪招聘,专注安全领域的专业人才平台!
最后于 2021-8-16 09:20
被小梁同学编辑
,原因: