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]; | |
} |
This comment has been minimized.
This comment has been minimized.
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 comment has been minimized.
This comment has been minimized.
This might be a bit to specific but does anyone know the url to the "SIM Applications" in iOS 10? |
This comment has been minimized.
This comment has been minimized.
You should use a capitalized Prefs instead of prefs on iOS 10 |
This comment has been minimized.
This comment has been minimized.
|
This comment has been minimized.
This comment has been minimized.
@mikengyn Thanks, it works! Swift users will thank you |
This comment has been minimized.
This comment has been minimized.
Apple rejected this code (6, April 2017) Guideline 2.5.1 - Performance Your app uses or references the following non-public APIs: “LSApplicationWorkspace” 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. |
This comment has been minimized.
This comment has been minimized.
@hongseok so sad to hear this, did mikengyn 's solution worked and pass the review? |
This comment has been minimized.
This comment has been minimized.
how can use this code for listing installed apps in ios 10 ? |
This comment has been minimized.
This comment has been minimized.
@shaibow No ideas now, the method -canOpenURL has been restricted since iOS9, there's no way to do this right now I think |
This comment has been minimized.
This comment has been minimized.
I am facing the same issue as @hongseok as well. Guideline 2.5.1 - Performance - Software Requirements
Is there any other options beside using LSApplicationWorkspace? |
This comment has been minimized.
This comment has been minimized.
I'm also getting this rejection from the app store. |
This comment has been minimized.
If I add this solution so, My app will be rejected or approved?