Tag Archives: 개발

[iPhone] 어플종료후에 모바일 사파리로 특정 사이트 접속하기

프로그램을 사용중에 프로그램이 종료되면서 모바일 사파리가 실행되면서 웹페이지에 접속되는 경우를 볼 수 있습니다.

다음과 같은 방법으로 어플리케이션 실행중에 중단을 하고 모바일 사파리를 띄워 웹 사이트에 접속할 수 있습니다.

[code][[UIApplication sharedApplication] openURL:[NSURL URLWithString:@”http://theeye.pe.kr”]];[/code]

멀티태스킹은 안되는지라, 현재 실행중인 프로그램은 바로 죽게 됩니다. 추가로 앱스토어로 바로 이동하는 방법은 다음과 같습니다.

[code]- (void)applicationDidFinishLaunching:(UIApplication *)application {
    // 버튼을 생성한다.
    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [button    setTitle:@”Go to Appstore” forState:UIControlStateNormal];
    [button setFrame:CGRectMake(30.0f, 50.0f, 200.0f, 30.0f)];
    [button addTarget:self action:@selector(launchAppStore:) forControlEvents:UIControlEventTouchDown];
   
    // 버튼을 window에 붙인다.
    [window addSubview:button];
    [window makeKeyAndVisible];
}

– (void)launchAppStore:(id)sender {
    // 버튼이 눌러지면 해당 페이지로 이동한다.
    NSString *iTunesLink = @”itms://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=304878510&mt=8″;
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];
}[/code]

사실 주소의 프로토콜은 itms가 아닌 http로 해도 상관없습니다만, 위의 방법이 좀더 직관적이고 리다이렉트없이 빨리 뜨는것 같습니다.

이동하고 싶은 앱의 URL을 알아내는 방법은 아이튠즈에서 해당 앱스의 이름을 오른쪽 클릭하면 URL을 알아낼 수 있습니다.

도메인의 호스트영역이 itunes로 되어있는데 그 부분을 위와 같이 phobos로 수정하여 사용하시면 됩니다.

애플과 수익을 분배하는 affiliate에 가입하여 사용을 원하신다면 [이곳]의 글을 참고하시기 바랍니다.
1160771198.zip

[iPhone] URL주소를 가지고 원격지의 이미지 파일을 UIImage로 읽어오기

UIImage를 이용하여 로컬 리소스 파일로 존재하는 이미지 파일을 읽어오는 것은 많이 해보셨을 것입니다.

이번에는 원격지의 이미지를 읽어오도록 하는 것을 시도해 보겠습니다. 다음의 소스를 참고하세요.

[code]- (void)applicationDidFinishLaunching:(UIApplication *)application {
   
    // 이미지를 읽어올 주소
    NSURL *url = [NSURL URLWithString:@”http://www.segye.com/content/image/2009/01/06/20090106000247_0.jpg”];
    NSData *data = [NSData dataWithContentsOfURL:url];
   
    // 데이터가 정상적으로 읽혔는지 확인한다. 네트워크가 연결되지 않았다면 nil이다.
    if(data) {
        UIImage *image = [[UIImage alloc] initWithData:data];
        UIImageView *view = [[UIImageView alloc] initWithImage:image];
   
        [view setFrame:CGRectMake(0.0f, 0.0f, image.size.width, image.size.height)];
        [window addSubview:view];
        [view release];
        [image release];
    }
    // 데이터를 정상적으로 읽어오지 못했을 경우의 처리
    else
    {
        UILabel *label = [[UILabel alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
       
        [label setText:@”Fail…”];
        [label setTextAlignment:UITextAlignmentCenter];
        [window addSubview:label];
        [label release];
    }
   
    [window makeKeyAndVisible];
}[/code]
이 코드에서 중요하게 보아야 할점은 NSData가 nil인지 아닌지를 판단하여 데이터를 가져왔는지 여부를 확인할 수 있다는 점입니다.

또한 가져온 이미지를 UIImage로 읽어들인 후에 size구조체에 접근하여 이미지의 크기를 얻어올 수 있습니다.
사용자 삽입 이미지어이쿠, 꽃보다 남자의 이미지가 아이팟의 가로길이인 320보다 커서 좀 짤렸네요;; 미안하다 잔디야~ㅠㅠ

이미지는 Frame의 가로 세로 길이에 맞춰 늘어나게 됩니다.
1002669745.zip