iPhone, iPod의 네트워크 주소 알아내기;
현재 장비의 MAC Address 와 IP Address 를 알아내보자.
먼저 IPAddress.c, IPAddress.h 를 자신의 프로젝트에 추가한 후,
#import "IPAddress.h"
헤더를 추가하고;
사용하고자 하는 함수 안에 다음과 같이 작성해 준다.
실행해 보면
현재 장비의 네트워크 주소를 출력할 수 있다.
각각의 경우에 이벤트를 처리하는 함수들은 다음과 같다.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application
- (void)applicationWillEnterForeground:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application
- (void)applicationWillTerminate:(UIApplication *)application
1. 프로그램 처음 실행 시
(1) didFinishLaunchingWithOptions 호출
(2) applicationDidBecomeActive 호출
2. 홈 버튼을 한번 누를 경우
(1) applicationWillResignActive 호출
(2) applicationDidEnterBackground 호출
3. 위 상태에서 다시 어플 실행 시
(1) applicationWillEnterForeground 호출
(2) applicationDidBecomeActive 호출
4. 홈 버튼을 두번 누를 경우
(1) applicationWillResignActive 호출
추가적으로 XXX-info.plist 파일에
Application does not run in background (멀티태스킹 지원 해제) 항목을 추가 하고 체크 하면
홈 버튼을 한번 누를 경우 applicationWillTerminate 를 호출한다.
위와 같고 Small 이 붙은 이미지는 스팟라이트용 이미지 이다.
위 이미지들을 프로젝트에 추가하고
프로젝트명-Info.Plist 를 수정하면 된다.
위와 같이 Icon file 을 Icon Files로 바꾸고 각 항목을 추가해주면
기기별로 아이콘이 적용된다.
P.S
혹, 아이콘의 아래로 볼록하게 보이는 효과를 없애고 싶다면
plist 파일에 위 항목을 추가한다.
NO 일 경우 효과를 주는 것이고, YES 일 경우 효과를 없애는 것이다.
iPhone 4 는 iPhone 3gs 에 해상도가 2배로 증가하였다.
따라서 프로그램 개발시 기존의 이미지를 로드 하면 이미지가 선명하지 않을것은 당연 지사;
물론, 개발 시 해상도나 기기를 체크해서 분기하여 로드하는 방법도 있지만
간단하게 해결하는 방법도 있다.
우선 로드할 이미지를 2가지 사이즈로 준비한다.
예를 들어, Main.png 라는 파일이 있으면
Main.png ( 320 X 480 ) 이미지 와
Main@2x.png ( 640 X 960 ) 이미지를 준비한다.
이 두 이미지를 프로젝트에 추가한 후 사용하면 된다.
이 이미지를 UIImageView 에 로드 할 경우 기존과 마찬가지로 사용하면 된다.
UIImageView* imgvBack = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[imgvBack setImage:[UIImage imageNamed:@"Main.png"]];
[self addSubview:imgvBack];
[imgvBack release];
이렇게 로드 하면 기기에 따라 해당하는 해상도의 이미지를 로드한다.
테스트 해 본 결과
imageNamed 뿐 아니라 imageWithContentsOfFile 도 정상적으로 로드가 된다.
오른쪽 화면의 TARGET을 클릭한 후, Build Phases 탭을 클릭한다.
쭉 나오는 항목 중에 Link Binary With Libraries 를 펼쳐서 + 을 클릭하면,
그러면 원하는 Framework를 선택하고 Add 하면 완료;