AppLister
AppLister copied to clipboard
iOS 11 issue with LMAppController
The allInstalledApplications method does not work anymore on the latest beta of iOS 11, is it a removal of private API by Apple ? Any idea on how to fix this ?
Thanks for pointing this out to me. At the moment, no idea and, not surprisingly, https://github.com/nst/iOS-Runtime-Headers doesn't have the iOS 11 headers yet.
I'll look into it as soon as I can; probably won't get to it until this weekend.
Any news :) ??
Not much I'm afraid.
Based on poking around with the Runtime Browser (https://github.com/nst/RuntimeBrowser.git) it looks like the call is still part of iOS 11. And the app runs fine using iOS 11 in the simulator. But as you've noticed, on an actual device, the call returns 0 apps.
I also tried replacing allInstalledApplications
with allApplications
. But that doesn't make any difference.
I'm going to have to do some more digging around.
I'm going to leave this open---since it's not solved.
But after spending some time looking into this, I am stumped. So it's likely that this project is dead. I'll put a note to that effect in the README.
If anybody has any thoughts about a fix, I'd very much appreciate them.
Does anyone have an update on getting LSApplicationProxy to work in iOS 11?
Now that the GM for iOS 11 is out, I'll try and make some time to go through the headers and see if there are any methods that look promising as a work-around. But my guess is that there won't be.
This API was left for so long because Apple used it to determine which plugins (extensions) should be displayed when presenting a share sheet. Try investigating how that works in iOS 11.
Anyone tried the MCM API such as MCManagedAppManager?
Hey, launching apps by bundle ID still work. However you must remember the bundle id which is not helpful.
Do you mean using an openUrl call on the URL scheme? Or what method of opening an app by bundle ID do you mean?
[LMAppController sharedInstance] openAppWithBundleIdentifier: com.apple.AppStore Nope, this method is the same private api. I reported a bug to apple to do with this because an attacker could use this method to open app apps endlessly causing your phone to heat up etc...
The code above does work because its basically how an app is launched normally from the home screen. If you want the icon etc or list of ALL apps, you need the com.apple.springboard entitlement. Otherwise you need each bundle id to launch it with.
What is the best way to add this entitlement ? Creating a . entitlements file in the project ? Thanks in advance.
No. It is not as simple as that. You can add that entitlement and it will work on Jailbroken devices only. For stock iOS the entitlement needs to be signed by Apple. Apple won't give you the entitlement because with the entitlement you gain full root access to the springboard. For this to work on iOS 11, you would need to find a new private api which Apple hasn't closed off.
Hi, I'm trying to figure out how did _LSApplicationWorkspace changed in iOS 11 by looking at it's containing binary. after downloading the image for iOS11, I looked for the binary in it's containing framework /Volumes/Tigris15A432.D10D101OS/System/Library/Frameworks/MobileCoreServices.framework but couldn't find any mach-o file in this folder ... any idea where can I get it from ?
we had foud new method called " MobileContainerManager" can get a result is installed(or installing) with no install with bundle id , ''' void* lib = dlopen("/System/Library/PrivateFrameworks/MobileContainerManager.framework/MobileContainerManager",RTLD_NOW);
if (iOS11) {
Class MBAppManager = NSClassFromString(@"MCMAppDataContainer");
NSError * error ;
id contentApp = [MBAppManager performSelector:@selector(containerWithIdentifier:error:) withObject:bunldID withObject:error];
if (contentApp) {
contentApp = nil;
//installed or installing
}else{
// no installed
}
} ''' but can not get the version current installed on device my English is poor ,sorry
Guys, any ideas about iOS 12 ?
It seems like the MBAppManager solution sealed with entitlements in iOS 12... perhaps someone found a different solution ?
@iradization any thoughts about it?
@alychkouski Guys, Did you find the relevant method?
Is there a solution for iOS12?