如何使用非越狱设备的私有框架以编程方式删除iOS应用程序

我正在制作一个内部(企业)应用程序。 我想以编程方式从iOS设备上删除其他已安装的应用程序。 我已经成功地使用苹果的私有框架方法检索已安装的应用程序的信息(例如,名称,bundleId,版本,图标等)。 请告诉我怎么做(即删除一个应用程序)。 谢谢。

就像@萨尔曼所表示的那样

这是一个解决scheme(没有越狱没有崩溃),但它不是每次都工作。 有时它没有卸载应用程序并返回NO

 NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/MobileCoreServices.framework"]; BOOL success = [b load]; if(success) { Class LSApplicationWorkspace = NSClassFromString(@"LSApplicationWorkspace"); id si = [LSApplicationWorkspace valueForKey:@"defaultWorkspace"]; SEL selector=NSSelectorFromString(@"uninstallApplication:withOptions:"); BOOL what=[si performSelector:selector withObject:@"Bundle_ID" withObject:nil]; } 

即使使用私有API,对于非越狱设备来说这是不可能的。

您将需要一个MDM解决scheme,这使得该公司在登记的设备上拥有相当多的权力。 使用iOS软件,没有任何方法。 我只是假设你的企业不会让越狱的手机靠近!