iOS设备安装App列表信息获取

之前知道如何获取一个iOS设备上安装的App的列表,但是App信息获取有限,现在对如何获取iOS设备上的App的其它信息的获取加以说明,具体获取方式如下:

    Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
    NSObject* workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];
    NSLog(@"apps: %@", [workspace performSelector:@selector(allApplications)]);
    //设备安装的app列表
    NSArray *appList = [workspace performSelector:@selector(allApplications)];
    Class LSApplicationProxy_class = object_getClass(@"LSApplicationProxy");
    for (LSApplicationProxy_class in appList)
    {
        //这里可以查看一些信息
        NSString *bundleID = [LSApplicationProxy_class performSelector:@selector(applicationIdentifier)];
        NSString *version =  [LSApplicationProxy_class performSelector:@selector(bundleVersion)];
        NSString *shortVersionString =  [LSApplicationProxy_class performSelector:@selector(shortVersionString)];
        NSLog(@"bundleID:%@\n version: %@\n ,shortVersionString:%@\n", bundleID,version,shortVersionString);
    }

以上获取了一些信息,其它的信息可以自己去获取。

参考链接:https://searchcode.com/codesearch/view/15673930/

#include <objc/runtime.h>  
Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");  
NSObject *workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];  
NSLog(@"apps: %@", [workspace performSelector:@selector(allApplications)]);

一些私有接口

@interface LSApplicationWorkspace : NSObject {  
}  

+ (id)defaultWorkspace;  

- (id)URLOverrideForURL:(id)arg1;  

- (void)_LSClearSchemaCaches;  

- (bool)_LSPrivateRebuildApplicationDatabasesForSystemApps:(bool)arg1  
                                                  internal:(bool)arg2  
                                                      user:(bool)arg3;  
- (void)_clearCachedAdvertisingIdentifier;  

- (void)addObserver:(id)arg1;  

- (id)allApplications;  

- (id)allInstalledApplications;  

- (id)applicationForOpeningResource:(id)arg1;  

- (id)applicationForUserActivityDomainName:(id)arg1;  

- (id)applicationForUserActivityType:(id)arg1;  

- (bool)applicationIsInstalled:(id)arg1;  

- (id)applicationsAvailableForHandlingURLScheme:(id)arg1;  

- (id)applicationsAvailableForOpeningDocument:(id)arg1;  

- (id)applicationsOfType:(unsigned long long)arg1;  

- (id)applicationsWithAudioComponents;  

- (id)applicationsWithExternalAccessoryProtocols;  

- (id)applicationsWithSettingsBundle;  

- (id)applicationsWithUIBackgroundModes;  

- (id)applicationsWithVPNPlugins;  

- (void)clearAdvertisingIdentifier;  

- (void)clearCreatedProgressForBundleID:(id)arg1;  

- (id)delegateProxy;  

- (id)deviceIdentifierForAdvertising;  

- (id)deviceIdentifierForVendor;  

- (id)directionsApplications;  

- (bool)establishConnection;  

- (bool)getClaimedActivityTypes:(id*)arg1 domains:(id*)arg2;  

- (void)getKnowledgeUUID:(id*)arg1 andSequenceNumber:(id*)arg2;  

- (bool)installApplication:(id)arg1  
               withOptions:(id)arg2  
                     error:(id*)arg3  
                usingBlock:(id)arg4;  

- (bool)installApplication:(id)arg1 withOptions:(id)arg2 error:(id*)arg3;  

- (bool)installApplication:(id)arg1 withOptions:(id)arg2;  

- (bool)installPhaseFinishedForProgress:(id)arg1;  

- (id)installProgressForApplication:(id)arg1 withPhase:(unsigned long long)arg2;  

- (id)installProgressForBundleID:(id)arg1 makeSynchronous:(unsigned char)arg2;  

- (id)installedPlugins;  

- (id)installedVPNPlugins;  

- (bool)invalidateIconCache:(id)arg1;  

- (bool)openApplicationWithBundleID:(id)arg1;  

- (bool)openSensitiveURL:(id)arg1 withOptions:(id)arg2;  

- (bool)openURL:(id)arg1 withOptions:(id)arg2;  

- (bool)openURL:(id)arg1;  

- (id)operationToOpenResource:(id)arg1  
             usingApplication:(id)arg2  
     uniqueDocumentIdentifier:(id)arg3  
              sourceIsManaged:(bool)arg4  
                     userInfo:(id)arg5  
                     delegate:(id)arg6;  

- (id)operationToOpenResource:(id)arg1  
             usingApplication:(id)arg2  
     uniqueDocumentIdentifier:(id)arg3  
                     userInfo:(id)arg4  
                     delegate:(id)arg5;  

- (id)operationToOpenResource:(id)arg1  
             usingApplication:(id)arg2  
     uniqueDocumentIdentifier:(id)arg3  
                     userInfo:(id)arg4;  

- (id)operationToOpenResource:(id)arg1 usingApplication:(id)arg2 userInfo:(id)arg3;  

- (id)placeholderApplications;  

- (id)pluginsWithIdentifiers:(id)arg1 protocols:(id)arg2 version:(id)arg3;  

- (id)privateURLSchemes;  

- (id)publicURLSchemes;  

- (bool)registerApplication:(id)arg1;  

- (bool)registerApplicationDictionary:(id)arg1  
             withObserverNotification:(unsigned long long)arg2;  

- (bool)registerApplicationDictionary:(id)arg1;  

- (bool)registerPlugin:(id)arg1;  

- (id)remoteObserver;  

- (void)removeInstallProgressForBundleID:(id)arg1;  

- (void)removeObserver:(id)arg1;  

- (bool)uninstallApplication:(id)arg1 withOptions:(id)arg2 usingBlock:(id)arg3;  

- (bool)uninstallApplication:(id)arg1 withOptions:(id)arg2;  

- (bool)unregisterApplication:(id)arg1;  

- (bool)unregisterPlugin:(id)arg1;  

- (id)unrestrictedApplications;  

- (bool)updateSINFWithData:(id)arg1  
            forApplication:(id)arg2  
                   options:(id)arg3  
                     error:(id*)arg4;  

@end 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值