[iPhone] 스테이터스바에 네트워크 인디케이터 달기

상단에 있는 스테이터스바에 네트워크 통신시에 로딩중 표시같은 빙글빙글 돌아가는것을 보신적이 있을겁니다.

저는 이것이 통신을 하면 자동으로 되는 것인줄 알았습니다. 근데 아니더군요. 하지만 간단하게 구현 가능합니다.

실제로 스테이터스바에는 NetworkIndicator 라는 것이 달려있습니다. 이것이 무엇인지 감이 안오실 분들을 위한 예제 사진 감상.
사용자 삽입 이미지왼쪽 상단에 안테나 표시 오른편에 보이시나요? 저게 움직입니다. 참고로 시뮬레이터에서는 나오지 않습니다.

iPhone SDK에는 UIActivityIndicator라는 컨트롤이 있는데요, 이 컨트롤이 저 위에 달렸다고 생각하시면 됩니다.

어떻게 하는건지 아시면 너무 간단해서 이 글을 읽으신게 후회되실지도 모릅니다-_-a

[code]// 인디케이터를 작동시킨다.
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
 
// 인디케이터를 없앤다.
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];[/code]

차암~쉽죠잉~
1090999277.zip참고 : http://www.iphonedevsdk.com/forum/iphone-sdk-development/1972-activitymonitor-status-bar.html

mod_geoip 설치하고 사용해 보기

어플리케이션을 개발하거나 혹은 좀더 정밀한 사용자들의 로그 정보를 쌓고 싶을때 필요한 것이 국가 정보입니다.

물론 전세계를 대상으로 하는 서비스라면 이점이 더욱 더 중요해 지겠죠.

MaxMind라는 회사에서 제공하는 GeoIP Extension의 경우 매우 유용한 프로그램입니다.

여러가지 경로의 사용이 가능하지만 그중에 가장 강력한 퍼포먼스로 선호하는 Apache 모듈로 설치해 보도록 하겠습니다.

설치에 앞서 필요한것은 다음과 같습니다.

GeoIP C Library, GeoIP mod_geoip (Apache1, Apache2)

1. C Library 설치하기
[code]# tar -zxvf GeoIP-1.4.6.tar.gz
# cd GeoIP-1.4.6
# ./configure
# make
# make install[/code]

2. mod_geoip 설치하기
[code]# apxs -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c[/code]

3. httpd.conf에 모듈이 정상적으로 추가되었는지 확인
[code]LoadModule geoip_module       modules/mod_geoip.so[/code]

4.httpd.conf에 모듈 설정 추가
[code]<IfModule mod_geoip.c>
    GeoIPEnable On
    GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat
</IfModule>[/code]

5. GeoIP 데이터 베이스 추가&업데이트하기
첫 설치시에 GeoIP.dat가 설치되어있지만 다음에서 데이터베이스를 다운받아 최신으로 업데이트 해봅시다.
http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

[code]# gzip -d GeoIP.dat.gz
# gzip -d GeoLiteCity.dat.gz
 
# mv GeoIP.dat /usr/local/share/GeoIP/GeoIP.dat
# mv GeoLiteCity.dat /usr/local/share/GeoIPCity.dat[/code]

6. City 정보까지 필요할 경우 httpd.conf 설정의 GeoIPDBFile을 다음과 같이 수정
[code]GeoIPDBFile /usr/local/share/GeoIP/GeoIPCity.dat[/code]

아파치등에서의 사용법은 [이곳]을 참고하시고, PHP와 같은 언어에서는 다음과 같이 정보를 얻어올 수 있습니다.

[code]<%
$country_code = apache_note(“GEOIP_COUNTRY_CODE”);
$country_name = apache_note(“GEOIP_COUNTRY_NAME”);
%>[/code]
사용자 삽입 이미지위의 그림은 phpinfo()를 실행했을 경우의 결과값 입니다. 데이터가 정상적으로 잘 나오는 것을 알 수 있습니다.