2010-06-24 3 views
0

iPhone 응용 프로그램에서 Wi-Fi 연결을 통해 3G/GPRS를 홍보해야한다는 요구 사항이 있습니다. 이것이 가능한지 알려주세요. 그렇다면 어떻게해야합니까?iPhone 응용 프로그램에서 WiFi를 통해 3G/GPRS를 홍보 할 수있는 모든 iPhone SDK API

문제는 내가 사용할 수 있고 연결되었지만 Captive Portal을 사용하여 로그인하지 않은 경우 해당 WiFi 네트워크를 사용하여 인터넷 연결이 필요한 작업을 수행 할 수 없다는 것입니다. 내가 알아챈 점은 Reachability API가 사용 가능한 Wi-Fi를 감지했지만 로그인하지 않았기 때문에 사용할 수 없기 때문에 로그인 할 때까지이 WiFi 핫스팟을 사용하여 인터넷에 연결되어 있지 않습니다. 그래서 3G/GPRS를 사용하여 인터넷 연결이 필요한 작업을 수행하려고합니다.

iPhone의 기본 동작은 사용 가능한 경우 WiFi를 사용하며 3G/GPRS가 아닌 경우에만 Wi-Fi를 사용한다는 것입니다.

그렇다면 3G/GPRS와 Wi-Fi를 사용할 수 있지만 Wi-Fi를 사용하지 않고 인터넷에 연결되어 있지만 3G/GPRS를 사용하여 인터넷 연결이 필요한 작업을 수행하는 방법을 알려 주시기 바랍니다.

감사합니다.

+0

로컬 Wi-Fi에 참여하지 않거나 인터넷에 모두 액세스 할 수 있습니까? – Ukko

+0

자신 만의 경우 설정 앱, Wi-Fi 설정 페이지로 이동 한 다음 '가입 요청'스위치를 켭니다. 그런 다음 가짜 액세스 포인트에서 공개 버튼을 선택하고 "이 네트워크 삭제"버튼을 눌러 해제하십시오. 그런 다음 해당 네트워크에 다시 가입하지 마십시오 (필요에 따라 로그인 할 수있는 경우 제외). – hotpaw2

답변

0

타사 응용 프로그램은 데이터의 출처를 제어하지 않습니다. 당신이 할 수있는 일은 애플리케이션이 그 일을하는 동안 사용자가 무선 랜을 끄도록 요청하는 것입니다. 초기 데이터 전송 후 wifi로 되돌아 가야한다면 iOS 4 멀티 태스킹 및 로컬 알림 API를 영리하게 사용할 수 있습니다. 애플리케이션이 백그라운드로 들어가면 백그라운드 작업 처리기를 시작할 수 있습니다 (-beginBackgroundTaskWithExpirationHandler: 사용). 앱 위임자의 -applicationDidEnterBackground:)에서 Wi-Fi 연결을 사용할 수 없게 될 때까지 기다렸다가 셀 네트워크로 처리 한 다음 UILocalNotification을 작성하여 Wi-Fi를 다시 연결해도되는지 사용자에게 알립니다. 그렇게하면 사용자는 앱이하는 모든 이점을 누릴 수 있으며 시작한 연결을 계속 유지할 수 있습니다.

0

특정 네트워크 리소스에 액세스해야하는 응용 프로그램을 만드는 경우 결정을 내릴 수 있는지 여부에 따라 ping을하거나 해당 리소스에 직접 연결을 시도해야합니다. 서버에 대해 ping을 수행 할 수 없다면 연결 가능성이 제로 연결을보고 한 경우와 동일한 방식으로 응용 프로그램을 실행하게하십시오 (그렇지 않을 수도 있음).

0

보안상의 이유로, Apple은 GPRS 네트워크 연결을 사용하여 일부 목적을 달성 했음에도 불구하고 문법적으로 그러한 설정을 개발자가 허용하지 않습니다.