programing

iOS 런칭 설정 -> 제한 URL 스킴

css3 2023. 10. 2. 15:20

iOS 런칭 설정 -> 제한 URL 스킴

최근에 이 멋진 웹사이트에서 자세히 설명할 수 있는 멋진 iOS5 커스텀 설정 URL 스킴을 발견했습니다.

응용 프로그램에서 설정 앱으로 사용자를 안내하면 이 기능이 작동합니다.

[[UIApplication sharedApplication] openURL:
       [NSURL URLWithString:@"prefs:root=General"]];

그러나 다음 경로를 통해 제한 경로로 직접 라우팅할 수 없습니다.path매개 변수:

[[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"prefs:root=General&path=Restrictions"]];

이것에 대한 문서를 찾거나 이 작업을 할 수 있었던 사람이 있습니까?

어떤 통찰력이라도 주시면 대단히 감사하겠습니다.인앱 구매를 활성화하기 위해 사용자를 데려가고 있으며, 사용자가 수동으로 제한 사항을 클릭하지 않도록 하고 싶습니다(매우 명확하지 않음).

AS @Nix Wang의 답변은 IOS 10에서 작동하지 않습니다.


경고: 이 방법은 iOS 5.1 이상을 실행하는 기기에서는 사용할 수 없습니다. 아래 Hlung의 설명을 참조하십시오.

그 가능성은.path구성 요소의 이름이 실제 섹션과 다르지만 URL에서 해당 섹션에 바로 액세스할 수 없는 경우도 있습니다. 가능한 URL 목록을 찾았는데 제한 사항이 표시되지 않아 아직 찾을 수 없습니다.

설정 앱에서 현재 알려진 URL 목록:

  • prefs:root=General&path=정보
  • prefs:root=General&path=ACCESSIBITY
  • prefs:root= airplane_MODE
  • prefs:root=General&path=AUTOLOCK
  • prefs:root=General&path= usage/CELLUAR_USAGE
  • prefs:root=Brightness
  • prefs:root=General&path=bluetooth
  • prefs:root=General&path=DATE_AND_TIME
  • prefs:root=FACTIME
  • prefs:root=일반
  • prefs:root=General&path=keyboard
  • prefs:root=CASTLE
  • prefs:root=CASTLE&path=스토리지_AND_BACKUP
  • prefs:root=General&path=INTERNATIONAL
  • prefs:root=LOCATION_SERVICE
  • prefs:root=ACCount_Settings
  • prefs:root=MUSIC
  • prefs:root=MUSIC&path= eq
  • prefs:root=MUSIC&path=VolumeLimit
  • prefs:root=General&path=Network
  • prefs:root= nike_PLUS_IPOD
  • prefs:root=NOTES
  • prefs:root=NOTITS_ID
  • prefs:root=Phone
  • prefs:root= photos
  • prefs:root=General&path=ManagedConfigurationList
  • prefs:root=General&path=reset
  • prefs:root= sounds&path= 벨소리
  • prefs:root= safari
  • prefs:root=General&path=assistant
  • prefs:root= sounds
  • prefs:root=General&path=SOFTWARE_UPDATE_LINK
  • prefs:root=STORE
  • prefs:root= twitter
  • prefs:root=General&path= usage
  • prefs:root=VIDEO
  • prefs:root=General&path=네트워크/VPN
  • prefs:root= wallpaper
  • prefs:root= wifi
  • prefs:root=INTERNET_TETHERING

iOS8부터는 내장된 설정 앱을 다음과 같이 열 수 있습니다.

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
   [[UIApplication sharedApplication] openURL:url];
}

은 URL입니다.@"app-settings:"을 추가하려고 되는 것 문자열에 다른 섹션("Bluetooth", "GENERAL" 등)을 추가하려고 했지만 메인 설정 화면에만 연결되는 것 같습니다.그렇지 않은 경우 답변을 게시합니다.

iOS 앱에 prefs URL 스킴을 추가하면 iOS 5에서 할 수 있는 모든 스킴을 사용할 수 있습니다. iOS 9에서 테스트해 보았지만 이전 버전에서도 가능할 것 같습니다.

업데이트:

prefs:iOS 10다 .

네, 이것도 보고, 심지어 테스트 애플리케이션에서도 구현했습니다.애플로부터 최종적인 단어를 얻어야 하지만, 커뮤니티의 의견은 애플이 5.1에서 이를 공개적으로 "발견/공개"한 후에 이를 허용하지 않았기 때문에 이를 포함한 애플리케이션은 허용되지 않을 것이라는 것입니다.

08/01/12 업데이트:제 개발자 계정을 통해 Apple에 WiFi 설정 대화 상자를 프로그래밍 방식으로 시작하는 방법이 있는지 물었습니다.응답 내용은 다음과 같습니다.

"당사 엔지니어들이 귀하의 요청을 검토한 결과, 현재 출하 중인 시스템 구성을 고려할 때 원하는 기능을 달성할 수 있는 지원 방법이 없다는 결론을 내렸습니다."

iOS 9에서는 다시 작동합니다!

Settings > General > Keyboard를 열려면 다음을 사용합니다.

prefs:root=General&path=Keyboard

또한 키보드로 더 멀리 이동할 수도 있습니다.

prefs:root=General&path=Keyboard/KEYBOARDS

설정 응용 프로그램에서 블루투스 메뉴를 열려고 했는데 위 경로(prefs:root=General&path= bluetooth)가 작동하지 않았습니다.결국 저를 위해 일하게 된 것은

UIApplication.sharedApplication().openURL(NSURL(string:"prefs:root=Bluetooth")!)

당신이 그것을 가지고 있는지 확인해보세요.prefsURL Scheme이 먼저 정의되었습니다.

iOS10용 솔루션.잘 작동합니다.

NSURL *URL = [NSURL URLWithString:@"App-prefs:root=TWITTER"];
[[UIApplication sharedApplication] openURL:URL options:@{} completionHandler:nil];

iOS10 기준으로 사용 가능합니다.

UIApplication.sharedApplication().openURL(NSURL(string:"App-Prefs:root")!) 

일반 설정을 엽니다.

또한 알려진 URL을 추가하여 특정 설정을 열 수 있습니다(가장 많이 올린 답변에서 볼 수 있음).예를 들어 아래의 한 개는 터치를 엽니다.신분증과 비밀번호.

UIApplication.sharedApplication().openURL(NSURL(string:"App-Prefs:root=TOUCHID_PASSCODE")!)

다음은 제가 찾은 다른 것입니다.

  1. "prefs" URL Scheme을 정의한 후, "prefs:root=safari&path=ContentBlockers"는 시뮬레이터(iOS 9.1 영어)에서는 작동하지만 시뮬레이터(중국어 간체)에서는 작동하지 않습니다.Safari로 이동할 뿐 Content Blockers는 이동하지 않습니다.만약 당신의 앱이 국제적인 것이라면, 조심하세요.
    업데이트:ContentBlockers에 요, 지금왜 그런지 모르겠어요, 이제 더 이상 ContentBlockers 에 뛰어들 수가 없어요, 같은 코드, 같은 버전이 지금 작동하지 않아요. :(

  2. 실제 기기(내 것은 iPhone 6S & iPad mini 2)에서 "사파리"는 "SAFari", 실제 기기에서 작동하지 않는 "사파리", 시뮬레이터에서 작동하는 "SAFari"입니다.

    #if arch(i386) || arch(x86_64)
        // Simulator
        let url = NSURL(string: "prefs:root=Safari")!
    #else
        // Device
        let url = NSURL(string: "prefs:root=SAFARI")!
    #endif
    
    if UIApplication.sharedApplication().canOpenURL(url) {
        UIApplication.sharedApplication().openURL(url)
    }
    
  3. 아직까지 아이폰과 아이패드의 차이점을 찾지 못했습니다.

IOS 10의 앱 알림 설정에 대해 정상 작동(테스트됨)

if(&UIApplicationOpenSettingsURLString != nil){
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
}

iOS 10

사용하다app-prefs:

App-prefs:root=MOBILE_DATA_SETTINGS_ID

지스트

저는 여기에 하나의 뉴스를 업데이트 합니다.Apple에서 'prefs:'만 사용해도 거절되지 않아 테스트해보고 앱스토어 승인여부를 확인했습니다(2016년 8월). thx.

iOS16 / Swift 5에서 특정 부분집합 보기(예: 배터리 설정):

  if let url = URL(string: "App-prefs:BATTERY_USAGE") {
    UIApplication.shared.open(url) { accepted in
        print(accepted ? "Success" : "Failure")
    }
  }

언급URL : https://stackoverflow.com/questions/8246070/ios-launching-settings-restrictions-url-scheme