-
-
Save johnny77221/bcaa5384a242b64bfd0b8a715f48e69f to your computer and use it in GitHub Desktop.
NSURL *bluetoothURLOS8 = [NSURL URLWithString:@"prefs:root=General&path=Bluetooth"]; | |
NSURL *bluetoothURLOS9 = [NSURL URLWithString:@"prefs:root=Bluetooth"]; | |
NSURL *bluetoothURLOS10 = [NSURL URLWithString:@"Prefs:root=Bluetooth"]; | |
if ([[[UIDevice currentDevice] systemVersion] intValue] >= 10) { | |
Class<NSObject> workSpaceClass = NSClassFromString(@"LSApplicationWorkspace"); | |
if (workSpaceClass) { | |
#pragma clang diagnostic push | |
#pragma clang diagnostic ignored "-Warc-performSelector-leaks" | |
id workSpaceInstance = [workSpaceClass performSelector:NSSelectorFromString(@"defaultWorkspace")]; | |
SEL selector = NSSelectorFromString(@"openSensitiveURL:withOptions:"); | |
if ([workSpaceInstance respondsToSelector:selector]) { | |
[workSpaceInstance performSelector:selector withObject:bluetoothURLOS10 withObject:nil]; | |
} | |
#pragma clang diagnostic pop | |
} | |
} | |
else if ([[[UIDevice currentDevice] systemVersion] intValue] >= 9) { | |
[[UIApplication sharedApplication] openURL:bluetoothURLOS9]; | |
} | |
else { | |
[[UIApplication sharedApplication] openURL:bluetoothURLOS8]; | |
} |
I used this solution on 3 apps, which are all passed the app store review, so I think it's safe to use it right now
This might be a bit to specific but does anyone know the url to the "SIM Applications" in iOS 10?
In iOS 9 it was able with: prefs:root=Phone&path=SIMToolkit
You should use a capitalized Prefs instead of prefs on iOS 10
App-Prefs
should be used for IOS10.
@mikengyn Thanks, it works! Swift users will thank you
Apple rejected this code (6, April 2017)
Guideline 2.5.1 - Performance
Your app uses or references the following non-public APIs:
“LSApplicationWorkspace”
“defaultWorkspace”
“prefs:root”
The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.
@hongseok so sad to hear this, did mikengyn 's solution worked and pass the review?
how can use this code for listing installed apps in ios 10 ?
@shaibow No ideas now, the method -canOpenURL has been restricted since iOS9, there's no way to do this right now I think
I am facing the same issue as @hongseok as well.
Guideline 2.5.1 - Performance - Software Requirements
Your app uses or references the following non-public APIs:
- LSApplicationWorkspace
Is there any other options beside using LSApplicationWorkspace?
I'm also getting this rejection from the app store.
If I add this solution so, My app will be rejected or approved?