ios10 - 关于iOS 10,跳转系统设置问题
天蓬老师
天蓬老师 2017-04-18 09:48:49
0
10
442

iOS 10 更新以后,发现以前跳转系统应用的方法无效了。(已解决:参考 https://github.com/sushushu/i...)

-(void)toWIFI {
    
    NSURL *url = [NSURL URLWithString:@"prefs:root=WIFI"];

    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        
        [[UIApplication sharedApplication] openURL:url]; // iOS 9 的跳转
        [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];// iOS 10 的跳转方式
    }
}

    

iOS 9的时候[[UIApplication sharedApplication] openURL:url]; 这个方法正常跳转,到了iOS 10的时候这个方法就不能用了。官方API如下:

- (BOOL)openURL:(NSURL*)url NS_DEPRECATED_IOS(2_0, 10_0, "Please use openURL:options:completionHandler: instead") NS_EXTENSION_UNAVAILABLE_IOS("");
- (BOOL)canOpenURL:(NSURL *)url NS_AVAILABLE_IOS(3_0);
    // Options are specified in the section below for openURL options. An empty options dictionary will result in the same
    // behavior as the older openURL call, aside from the fact that this is asynchronous and calls the completion handler rather
    // than returning a result.
    // The completion handler is called on the main queue.
    - (void)openURL:(NSURL*)url options:(NSDictionary<NSString *, id> *)options completionHandler:(void (^ __nullable)(BOOL success))completion NS_AVAILABLE_IOS(10_0) NS_EXTENSION_UNAVAILABLE_IOS("");  

请问我该如何使用新的API
- (void)openURL:(NSURL*)url options:(NSDictionary<NSString *, id> *)options completionHandler:(void (^ __nullable)(BOOL success))completion NS_AVAILABLE_IOS(10_0) NS_EXTENSION_UNAVAILABLE_IOS(""); 或者说这个options我该传什么进去(经测试,传空字典是没有用的)?

万分感谢。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

모든 응답(10)
PHPzhong

포기하세요. iOS 10에서는 어떤 시스템 설정으로도 이동할 수 없습니다.

Peter_Zhu

iOS10이 점프하지 않는 문제에 대해 iOS는 실제로 공개되지 않은 방법을 제공합니다. 하지만 절제가 문제이지만 이를 우회할 수 있는 방법을 찾을 수 있습니다.

으아아아

ASCII 값을 사용하여 메서드를 조합하고 결합합니다. 이는 검토를 우회합니다.

으아아아

위는 블루투스 인터페이스에 진입하는 방법입니다. 다른 페이지로 이동할 수도 있습니다. 설정 페이지는 @"@"Prefs:root=TETHERING"이고 wifi는 @"Prefs:root=WIFI"입니다. Prefs의 P는 대문자로 표시됩니다.
다음과 같은 경우 이런 방식으로 작성하면 단점도 있습니다. 애플의 미공개 방식은 한번 수정해야 합니다.

Ty80

애플리케이션의 URL 구성표를 설정하지 않았습니다

PHPzhong

ios10에서 이렇게 작성하세요. 그룹의 훌륭한 분이 가르쳐 주셨습니다.
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];

刘奇

兄弟 我知道了 哈哈 我刚刚找到解决방법

프라그마 마크 -- openURL 옵션 --

// openURL 옵션:options:CompletionHandler: URL을 열도록 구성된 애플리케이션이 있는 유효한 범용 링크인 경우에만 URL 열기
// 구성된 애플리케이션이 없거나 사용자가 이를 사용하여 열 수 없도록 비활성화한 경우 NO
UIKIT_EXTERN NSString *const UIApplicationOpenURLOptionUniversalLinksOnly NS_AVAILABLE_IOS(10_0);

로 호출되는 링크, 완료 핸들러
伊谢尔伦

[[UIApplication sharedApplication] openURL:url 옵션:@{UIApplicationOpenURLOptionUniversalLinksOnly:@""}completeHandler:nil ];

左手右手慢动作

으아악

刘奇

같은 문제가 발생했는데 해결하셨나요?

小葫芦

문제를 해결하셨나요?

大家讲道理

포스터님께 해결 방법을 여쭤봐도 될까요?

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿