【问题标题】:Is it possible to get installed apps in ios是否可以在ios中获取已安装的应用程序
【发布时间】:2018-03-06 07:48:28
【问题描述】:

是否可以在 iOS 11 中以编程方式获取正在运行/已安装的应用程序列表。如果有人知道答案,请帮助我。我搜索了许多网站以寻找答案,大多数网站显示这是不可能的。请帮助我

【问题讨论】:

  • “他们中的大多数都表明这是不可能的” - 你想再听到同样的答案吗?
  • Apple 不会允许...如果您使用任何私人/第三方库,那么请忘记 App Store!
  • 那么第三方启动器应用程序在 iphone 中是如何工作的??????@luk2302

标签: ios


【解决方案1】:

好的,您无法获得所有应用程序,但您可以通过不同的方式完成您的任务。 App Store 上有一个名为 Carat 的应用程序,其中列出了消耗电池的应用程序。这是该应用程序的 GitHub 链接

Carat

也许对你有帮助

【讨论】:

    【解决方案2】:

    您可以使用 AppList 库来获取所有已安装应用程序的列表。 它使用私有框架,因此它也只能越狱。查看https://github.com/rpetrich/AppList

    您还可以阅读 /Applications 文件夹。所有已安装的应用程序都在其中可用。您需要使用 NSFileManager 列出 /Applications 中的目录:

    NSArray *appFolderContents = [[NSFileManager defaultManager] directoryContentsAtPath:@"/Applications"];

    【讨论】:

    • Applications 文件夹仅包含系统应用程序,因此您不会在此处找到有关从 App Store 下载的应用程序的任何信息。 Store App 的二进制文件存储在/var/mobile/Containers/Bundles,相关数据存储在/var/mobile/Containers/Data
    • 如果您无法获取已安装应用程序的列表,您也可以尝试以下代码。这里我使用了私有框架,但它不是越狱设备。#include Class LSApplicationWorkspace_class= objc_getClass("LSApplicationWorkspace"); SEL 选择器=NSSelectorFromString(@"defaultWorkspace"); NSObject* 工作区 = [LSApplicationWorkspace_class performSelector:selector]; SEL selectorALL = NSSelectorFromString(@"allApplications"); NSLog(@"apps: %@", [workspace performSelector:selectorALL]);愿这段代码对你有所帮助:)
    • 但苹果从 iOS 11 开始严格禁止。@Swati Gautam
    • 如果我将 info.plist 中的 5000 个应用程序列入白名单并使用“canopenurl”检查应用程序是否已安装。有什么办法可以说服苹果???
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多