You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Xamarin iOS中获取iPhone已安装应用列表?是否可行?

在Xamarin iOS中获取已安装应用列表的可行性与实现

一、苹果政策与可行性

  • LSApplicationWorkspace属于苹果私有API,面向App Store上架的应用绝对不允许使用,苹果审核时会检测私有API调用,直接拒绝通过。
  • 若应用仅用于企业内部部署、测试环境或越狱设备,使用该私有API是可行的,但无法上架公开应用商店。

二、Xamarin iOS对应的C#实现代码

对应你提供的Objective-C代码,Xamarin中可通过ObjCRuntime库调用私有API,代码如下:

using ObjCRuntime;
using Foundation;

// 获取LSApplicationWorkspace类实例
Class lsWorkspaceClass = new Class("LSApplicationWorkspace");
Selector defaultWorkspaceSelector = new Selector("defaultWorkspace");
NSObject workspace = lsWorkspaceClass.PerformSelector(defaultWorkspaceSelector);

// 调用allApplications方法获取已安装应用列表
Selector allAppsSelector = new Selector("allApplications");
NSArray installedApps = workspace.PerformSelector(allAppsSelector) as NSArray;

// 遍历输出应用信息
foreach (NSObject app in installedApps)
{
    Console.WriteLine(app.Description);
}

注意事项

  • 代码需引用ObjCRuntime和Foundation命名空间。
  • 该实现依赖私有API,仅适用于非App Store发布场景,上架必被拒。

内容的提问来源于stack exchange,提问作者prashanth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 14:52:06