2010-06-11 2 views
12

나는 호스트가 wifi 또는 3g를 통해 연결할 수 있는지 알 수있는 접근 가능성 코드와 함께 잠재적으로 해외의 대형 데이터베이스 (60meg)를 다운로드하는 여행 가이드 관련 앱을 작성하고 있습니다. 그러나 어떤 이유로 wifi 일부 DSL 연결이 때때로 아이폰이 3G로 투명하게 전환하고 해외 데이터 요금으로 누군가의 전화 요금을 부과 할 수 있다는 것을 깨닫지 않고 연결이 끊어 지거나 잠시 동안 연결이 끊어집니다!어떤 경우에도 iPhone이 3G를 사용하지 못하게 할 수 있습니까?

그래서 누군가가 어떤 경험을 가지고 있는지 궁금하네요, 와이파이 연결 (와이파이 여전히 작동하지만 그물에 연결이 끊긴 경우)의 휴식 시간에 도달 가능성 코드 보고서 ReachableViaWWAN? 따라서 다운로드 코드가 반환 될 때까지 기다릴 수 있으며 호스트가 현재 연결 가능한지 확인하고 3g를 통해 중단 할 수 있습니까?

3g 또는 wifi를 독점적으로 사용할 수있는 연결 유형을 선택할 수 있습니까?

+3

개발자가 사용자를 괴롭히지 않는 것이 좋습니다. upvote을하십시오. – samoz

+1

사용할 네트워크를 제어 할 수있는 경우이를 사용자가 구성 할 수있는 설정으로 지정하십시오. 어떤 사람들은 필요할 때 3G로 돌아갈 지 염려하지 않을 수도 있습니다 (예 : 새로운 2GB 요금제가 있고 60MB 다운로드가 마음에 들지 않음). – Jeff

+1

이것은 사용자가 구성 할 수 있도록 고안되었지만 "다운로드 할 수있는 3g"라고 말하면 구현 방법이 있어야합니다. – dageshi

답변

0

예, 설정 -> 일반 -> 네트워크에서 3G를 차단할 수 있습니다. 그러나 아이폰은 여전히 ​​비 -3G 셀룰러를 사용할 것이다.

해외로 여행 할 때 비행기 모드에서 iPhone을 넣은 다음 수동으로 Wi-Fi를 켭니다.

+0

저는 OP가 Skype 앱처럼 3G 데이터를 프로그래밍 방식으로 앱에서 거부 할 수 있는지 묻고 있습니다. –

+0

OK, 확실하지 않았습니다. 그러나 두 번째 독서에서 나는 당신이 옳다고 생각합니다. –

+0

예, 그렇지만 비행 모드에서 Wi-Fi를 켤 수 있는지 몰랐습니다. – dageshi

5

Reachability 샘플을 보면 Reachability.h에 "kReachabilityChangedNotification"으로 정의 된 상수가 있습니다. 변경 사항에 대해 통보 받길 원한다면 (이것이 정상적으로 작동한다고 가정하면) 3G로 떨어질 때 연결을 중지 할 수 있습니다.

+0

예. 독서에서 이것은 유일한 방법처럼 보입니다. 예상대로 디버깅을 테스트 해보는 것이 좋습니다. – dageshi

1

설정 -> 일반 -> 네트워크에서 "데이터 로밍"이 있습니다. 이를 통해 국제 여행시 다른 데이터 네트워크로 로밍을 끌 수 있습니다. 사용자는 이미 이동 중에 값 비싼 3G 연결을 허용할지 여부를 선택할 수 있습니다.

+1

아. 유용 할 수도 있습니다. – dageshi

+0

당신은 국경 근처에 있기 때문에 나는 항상 그 자리를 지키고 있습니다. – progrmr

0

아니오; 유닉스 스타일의 IP는 그렇게 작동하지 않는다. 도달 가능성 코드를 사용하는 것이 대부분 올바른 일이지만, 알림을 처리하기 전에 3G를 통해 몇 개의 패킷을 보낼 수있는 기회가 여전히 있습니다.

"데이터 로밍"을 끄지 않는 사용자가 매우 빨리 처리한다고 가정하는 것이 안전 할 것입니다. 반면에 많은 사용자는 무제한 인터넷 요금제를 사용하지 않습니다.

"Wi-Fi를 통해 연결되지 않음, 셀 네트워크를 통해 많은 양의 데이터를 다운로드 하시겠습니까? 청구될 수 있습니다."와 같은 것을 표시하는 옵션이 있습니다. 그것을 설정에 저장하십시오.

+0

FYI, AT & T는 제한된 데이터 플랜으로 이동하는데, 이는 한 달에 2G 미만으로 머무르는 것이 더 저렴합니다. 무제한 계정은 현재 작성되지만 새 계정은 1G 또는 2G 한도를 가지며 이후 10 달러/G 및 그 달의 비용 한도를 고려합니다. –