iPhone 앱에 사용자 상호 작용없이 전화를 걸 수있는 권한이 있습니까?


9

지금 전화를 걸지 않아도 사용자에게 요금이 청구되는 부재 중 전화 사기 에 대해 읽었 습니다 . 악의적 인 iPhone 앱이 프리미엄 번호로 전화하여 사용자를 돈에서 사기로 만들 수 있다는 사실 이 나에게 생겼 습니다.

Apple의 자체 문서 에 따르면 :

사용자가 웹 페이지에서 전화 링크를 누르면 iOS는 사용자가 실제로 전화 번호로 전화를 걸 것인지 묻는 경고를 표시하고 사용자가 수락하면 전화 걸기를 시작합니다. 사용자가 기본 앱에서 tel 구성표로 URL을 열면 iOS는 사용자에게 추가 프롬프트없이 경보를 표시하지 않고 전화 걸기를 시작합니다.

분명히 양성 iPhone 응용 프로그램은 전화가 충전 될 때까지 기다렸다가 사용자가 참석하지 않을 때까지 기다린 다음 개발자에게 깔끔한 보너스를 제공하기 위해 프리미엄 요율 번호로 전화를 걸 수 있습니다. . iOS에서 권한이없는 것 같습니다.이 동작을 막기 위해 변경할 수 있습니다. 전화 데이터에 액세스하는 대신 URL로 전화 앱을 여는 중이기 때문입니다.

내 이해가 올바른지 확인할 수 있습니까? 그렇다면 왜 Apple이 왜 그런 구멍을 뚫지 않았습니까?

답변:


8

내 앱 중 하나에서 전화 통화를 시작하여 iOS 동작을 실험적으로 확인했습니다.

결과는 다음과 같습니다.

  • 사용자 확인없이 프로그래밍 방식으로 전화를 걸 수 있습니다. 방금 앱이로드 된 직후에 실행되는 한 줄의 코드를 작성했습니다. 즉, 앱이 포 그라운드에 있으면 사용자가 아무 곳이나 탭하지 않아도 언제든지 전화를 시작할 수 있습니다.
  • 앱이 실행 중이 아닌 경우 앱을 깨우고 동일한 코드를 실행하기 위해 앱에 자동 원격 푸시 알림을 보냈습니다. 전화가 시작되지 않았습니다. iOS가 앱이 백그라운드에서 실행중인 경우 앱이 전화 통화를 시작하도록 허용하지 않습니다.

따라서 사용자가 알지 못하고 전화를 시작하는 유일한 방법 인 질문에 대답하는 것은 iOS 가이 작업을 허용하지 않기 때문에 사용자가 어떻게 든 악성 응용 프로그램을 포 그라운드에서 실행하고 전화를 시작하도록 설득하는 것입니다 앱이 백그라운드 인 경우

현재 iOS는 특정 앱에서 전화 통화 시작을 차단하는 메커니즘을 제공하지 않지만 앱이 포 그라운드에있는 경우에만 발생할 수 있습니다.


포괄적 인 조사, 훌륭한 답변에 감사드립니다. 도움이 될 수는 없지만 전경에있을 가능성이 높은 앱을 발명하는 것은 너무 어렵지 않다고 생각하지만 전경에서만 들리는 것이 기쁩니다. 타임 랩스를하는 카메라 앱은 사물의 유형의 좋은 예입니다. 나는 여전히 다른 앱에서 URL을 여는 것을 선호하고 싶습니다. 서로 다른 앱을 열 수있는 권한이었습니다. 매번이 아니라 외부 앱마다 처음으로 확인되었습니다. 그러나 UX와 관련이 있음을 인정합니다. 모두가 경계해야한다고 생각합니다.
Cartroo

5

이것을 확인하기 위해 테스트 앱을 만들었습니다. 앱은 tel://123456789포 그라운드에 있고 활성화 된 경우에만 URL을 열 수 있습니다 . 백그라운드 상태로 들어간 직후에도이 코드를 호출하면이 URL을 여는 API가 아무 작업도 수행하지 않았습니다. 따라서 귀하의 질문에 답변하기 위해 귀하의 지식 없이는 앱에서 전화를 걸 수 없습니다.

이 페이스트를 테스트하려면 다음을 수행하십시오 AppDelegate.

- (void)applicationDidEnterBackground:(UIApplication *)application {
   [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://123456789"]];
}

좋은 답변, 코드 주셔서 감사합니다. 두 가지 대답을 모두 받아 들일 수 있다면 그렇게 할 것입니다.
Cartroo

2

iOS> = 10.3에서 전화를 걸려 고하면 항상 팝업이 사용자에게 표시됩니다. 문서

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.