반응형

[참고: http://www.iphonesdkarticles.com/2008/11/localizing-iphone-apps.html ]

간혹 필요한 아이폰에서 사용자 언어를 리턴하는 간단한 메소드 입니다.

NSString *resultCheckLanguage = [self checkLanguage];


로 받으시면 되겠네요.

-(NSString *)checkLangauge
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 
   return [[defaults objectForKey:@"AppleLanguages"] objectAtIndex:0];
}


resultCheckLanguage 결과문은

NSLog(@"current language: %@", resultCheckLanguage); 


로 확인해 보시면 아래와 같이 나옵니다. 

//한글일 때
     2012-02-27 10:58:36.167 wordList[1229:15803] current language: ko
//영어일 때
     2012-02-27 10:58:36.167 wordList[1229:15803] current language: en



반응형
반응형
[참고: http://bees4honey.com/blog/tutorial/how-to-add-iad-banner-in-iphoneipad-app/]

필요한 framework : iAd.Framework

1. ziAd.h

#import <Foundation/Foundation.h>
#import <iAd/iAd.h>
@interface ziAd : NSObject <ADBannerViewDelegate>
 
{
    ADBannerView *adBanner;
    BOOL bannerIsVisible;    
}
@property (nonatomic, assign) BOOL bannerIsVisible;
 
- (ADBannerView *)getADBanner;
@end


2. ziAd.m

#import "ziAd.h"
@implementation ziAd
@synthesize bannerIsVisible;

// iAd 배너
 
- (ADBannerView *)getADBanner
{
    adBanner = [[ADBannerView alloc] initWithFrame:CGRectZero];
 
    [adBanner setRequiredContentSizeIdentifiers:
 
    [NSSet setWithObjects:ADBannerContentSizeIdentifierPortrait, nil]];
 
    [adBanner setCurrentContentSizeIdentifier:ADBannerContentSizeIdentifierPortrait];
 
    [adBanner setFrame:CGRectMake(0, 410, 320, 50)];
 
    [adBanner setDelegate:self];
 
    self.bannerIsVisible = NO;
 
    return adBanner;       

}

- (void)bannerViewDidLoadAd:(ADBannerView *)banner

{
    if(!self.bannerIsVisible)
 
    {
        [UIView beginAnimations:@"animateBannerAppear" context:nil];
 
        [adBanner setFrame:CGRectMake(0, 410, 320, 50)];
        [UIView commitAnimations];
 
        self.bannerIsVisible = YES;
 
    }
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
 
     if(self.bannerIsVisible)
 
    {
        [UIView beginAnimations:@"animateBannerOff" context:nil];
 
        [adBanner setFrame:CGRectMake(041032050)];
        [UIView commitAnimations];
 
        self.bannerIsVisible = NO;
 
    }
}
@end
// iAd 배너


3. 호출..

#import "ziAd.h"

- (void)viewDidLoad
{
    //iAd
    [self.view addSubview: [[[ziAd alloc]init] getADBanner]];
    [super viewDidLoad];
 
}

//viewWillAppear 에 올리는 방법이 더 좋다고 해서 DidLoad 에서 지웠습니다.

-(void)viewWillAppear:(BOOL)animated
{  
     [self.view addSubview: [[[ziAd alloc]init] getADBanner]];

}


 


반응형
반응형
이런저런 테스트를 하며 어플 하나 만들어 보다 보니..
암호를 입력하여 기능 잠금을 해야 하는 부분이 있어서 뒤적거려 봤습니다.

일단은.. TextField 에 번호를 입력 하는데, 보여지면 안되겠지요?

그래서 찾아봤더니, textField 의 메소드 중 setSecureTextEntry 라는 녀석이 있더군요.
넘기는 인자를 YES 로 넘겨주면 알아서 변환해 줍니다.

//숫자 대신 안보이는 점으로 변환

    [textField setSecureTextEntry:YES];




textField 에 글자 길이 지정해 주는 부분도 있긴 하지만..
개인적으로 사용하진 않았구요.. edit changed 이벤트를 사용해봤습니다.
무슨 이유인지 모르겠지만, setSecureTextEntry 와 함께 사용하기 좋더군요.

그럼 또.. 별거 아닌거 알아내려 갑니다.. ㅎㅎ :)
 
반응형
반응형
[참고: http://eureka.ykyuen.info/2010/04/02/objective-c-convert-nsstring-to-int-and-vice-vesa/]

변수 값 스트링을 인티저로.. 인티저를 스트링으로 바꿔주는 방법입니다.
많이 사용하는 값 형변환.. :) 입니다.

1. NSString -> int 변환 

NSString *NumberString = @"209384029384023948";
int i = [NumberString intValue];



2. int -> NSString 변환 

int aNumber = 209384029384023948;
NSString *aString = [NSString stringWithFormat:@"%d", aNumber];



 
반응형
반응형
어떤 개발을 하던지..
디버그 나 이벤트 관련 테스트 로는 알럿창 띄워 테스트 하는게 가장 보편적이지요.
그래서 버릇 처럼 알럿창을 제일 번저 띄워봤습니다. ㅎㅎ 
(참고 싸이트 : http://snipplr.com/view/42990/ )




1. alert 1

-(void)alertAndControl

{

    UIAlertView *alert = [[UIAlertView alloc]init];

    alert.message = @"hello";

    [alert addButtonWithTitle:@"OK"];

    [alert show];

}


alertAndControl 함수를 이벤트 시 호출해 주면 띄용~ 하고 뜹니다. ㅎㅎ
근데 이벤트 테스트 말고, 디버그는 NSLog 로 많이 사용하게 되더군요. ㅎㅎ


2. alert 2

UIAlertView *alert2 = [[UIAlertView alloc]

    initWithTitle:@"Do you really want to start the End of World?"

                          message:nil

                          delegate:self

    cancelButtonTitle:@"No, cancel Red Day"

    otherButtonTitles:@"Yes, initia", nil];

    [alert2 show];



이건 버튼 추가된 알럿입니다. 

3. alert 3 - alertView.tag 사용하기

alertView.tag 를 사용하게 되면.. 지정해준 tag 에 따라 action 을 부여할 수 있더군요.

메소드 호출 시 넘긴 값들은 
@"Lock Player Changes" :@"아줌마 잠그실꺼에요?" :1
요로케 입니다.

-(void)alertAndControl:(NSString *)alertTitle :(NSString *)alertMessage :(int)tagNo
{
    UIAlertView *alert = [[UIAlertView alloc]
 
                          initWithTitle:alertTitle
                          message:alertMessage
                          delegate:self
 
    cancelButtonTitle:@"아니오"
 
    otherButtonTitles:@"", nil];
 
    alert.tag = tagNo;    
    [alert show];
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    switch (alertView.tag) {
        case 1:
            //1 태그 알럿 :)
            switch (buttonIndex) {
                case 1:
                    if ( nextView != nil)
                    {
                        [[parentView navigationController] pushViewController:nextView animated:YES];
 
                    }
                    break;               

                default:
                    break;
            }
            break;
        case 2:
            //2 태그 알럿 :)
            break;
        default:
            break;
    }
}



 이렇게요. 여기서 "예" 를 누르게 되면 nextView 화면으로 전환되게 코딩이 되어 있지요?
쩌업 편하네요
조금 더 작업하여 버튼까지 구현하면 완성이 될 듯 싶습니다.

반응형
반응형

1. iOS 내부에서 작동하는 링크 코드 입니다.
itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=1234567890

2. PC 에서 작동하는 링크 코드입니다. 
https://userpub.itunes.apple.com/WebObjects/MZUserPublishing.woa/wa/addUserReview?id=1234567890&type=Purple+Software

 
반응형
반응형
여러가지 이유로.. iOS 로 어플 개발 공부를 시작하게 되었습니다.
참신한 아이디어.. 라는게 참.. 어렵네요.

 
참신한 아이디어와 기술의 접목으로 돈벌이 함 해보려고 하는 뜻이야 뭐 누구든 똑같다 볼 수 있겠지만.. :)
개발자로서 iOS 에서 한번쯤은 개발 해보고 싶다.. 생각 안한 사람 없겠지요? ㅋㅋ

그래서 저도 2년 넘게 아이폰 사용해 오면서 여러가지 생각을 해오다.. 이런저런 어플들을 한번 만들어 보고 싶네.. 라는 생각이 들어 공부를 시작했습니다.



자 제 첫 어플 기대해 주세요 ㅎㅎ 
 
반응형

+ Recent posts