无法找到使用 xamarin ios 获取安装在 iphone 设备中的应用程序列表的解决方案。
是否有可能或苹果允许实现它?
#include
Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
SEL selector=NSSelectorFromString(@"defaultWorkspace");
NSObject* workspace = [LSApplicationWorkspace_class performSelector:selector];
SEL selectorALL = NSSelectorFromString(@"allApplications");
NSLog(@"apps: %@", [workspace performSelector:selectorALL]);
是我见过但在 xamarin native ios 中找不到等效代码的解决方案。
您可以试试下面的代码:
NSObject LSApplicationWorkspace_class = new NSObject(ObjCRuntime.Class.GetHandle("LSApplicationWorkspace"));
NSObject workspace = LSApplicationWorkspace_class.PerformSelector(new ObjCRuntime.Selector("defaultWorkspace"));
var list = workspace.PerformSelector(new ObjCRuntime.Selector("allApplications"));
注意: LSApplicationWorkspace 是私有api,如果您使用它并想将您的应用上传到应用商店,它将被拒绝。所以不建议大家在项目中使用。