代码之家  ›  专栏  ›  技术社区  ›  scvyao

如何从字符串中钩住obj-c选择器(通过调整)?

  •  -1
  • scvyao  · 技术社区  · 7 年前

    我们可以获得如下ios安装包id列表:

    Class lsawsc = objc_getClass("LSApplicationWorkspace");
    NSObject* workspace = [lsawsc performSelector:NSSelectorFromString(@"defaultWorkspace")];
    NSArray *arr = [workspace performSelector:NSSelectorFromString(@"allInstalledApplications")];
    for (NSString * tmp in arr)
    {       
       NSLog(@"%@", tmp);
    }
    

    1 回复  |  直到 7 年前
        1
  •  0
  •   Rein Spijkerman    7 年前

    你可以用过滤后的应用程序填充一个新数组,然后使用它:

    NSArray *installedApps = /* result of allInstalledApplications invocation */;
    
    NSMutableArray *filteredApps = [NSMutableArray new];
    
    for (NSString *app in installedApps) {
        if (/* filter/hook allows app */) {
            [filteredApps addObject:app];
        }
    }
    
    // Use filteredApps