본문 바로가기

프로그래밍/iOS

(182)
[iOS] plist에 있는 값 가져오기 위와 같이 info.plist에 Debug Level이란 이름으로 NSNumber 3값을 선언해 두었다. 이 값을 앱에서 사용할 때는 아래와 같이 사용하면 된다. int n = [[[[NSBundle mainBundle] infoDictionary] valueForKey:@"Debug Level"] intValue]; NSLog(@"n = %d",n); [[NSBundle mainBundle] infoDictionary] 이 것이 plist가져오는 것이고그 안에 Debug Level이란 키를 가진 값을 가져와 int값으로 변환해 넘겨주는 것이다. 디버그 레벨 설정하려고 테스트 해본 것. 결론은 잘 된당
[iOS] RGBA 순서 이미지 편집하다가 순서가 궁금하여 0x000000FF등으로 찍어보았다. 결과는 ABGR RGBA순서인데 아이폰이 little endian이어서 순서가 거꾸로 였다. 따라서 byte(unsigned char)*4에 rgb값을 쓰고 싶으면 0x 00 00 00 00 A B G R순서로 쓰면 된다.
[iOS]NSString to NSData, NSData to NSString 요근래 한 10번은 쓴거 같은데 자꾸 까먹어서 정리 NSString* numberString = @"111111111";NSData* numberData = [numberStringdataUsingEncoding:NSUTF8StringEncoding]; numberString = [[NSString alloc] initWithData:dencryptedDataencoding:NSUTF8StringEncoding];NSLog(@"number = %@",numberString");
[iOS]Other Linker flag 라이브러리 로드 시 사용하는 flag들이 몇가지 있는데각 flag를 왜 쓰는지 기술 각 flag들은 컴파일 타임에 링크하는 과정에 대한 설정 -ObjCObjectiveC 클래스나 카테고리로 정의된 객체 파일들을 모두 적재설정을 안할 경우 카테고리로 작업한 객체들은 읽지 못한다. -all_loadlinker가 모든 archive로 부터 object file을 로드(사용과는 상관 없음)Objective-C가 아닌 오브젝트들도 다 링크한다.따라서 사용하지 않는 변수들까지 다 들고 와서 duplicate 이슈가 나는 경우가 있다 -force_load-force_load is available in Xcode 3.2 and later. It allows finer grain control of archive lo..
[iOS] iPhone6 화면 대응할 시간 없는데 보여주고 싶을때 원래라면 화면 대응 다 해주는게 맞지만... 시간 없는 경우에 아이폰 6에 아이폰5s화면 확대해서 올릴 수 있다. 이렇게 하는 방법 기술(맨날 까먹음) 프로젝트 설정- General 위와 같이 Asset에 LaunchImage 추가Launch Screen File 제거 위와 같이 하면 5s화면을 확대해서 보여준다. 어디까지나 시간없을 때 사용하자
[iOS] 앱스토어 버전 체크하기 NSDictionary *bundleInfo = [[NSBundle mainBundle] infoDictionary]; // 번들 정보NSString *bundleIdentifier = [bundleInfo valueForKey:@"CFBundleIdentifier"]; // 번들 idNSURL *lookupURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?bundleId=%@", bundleIdentifier]]; // 앱스토어 url NSData *lookupResults = [NSData dataWithContentsOfURL:lookupURL]; // 검색 결과 NSDictionary *jso..
[iOS] 함수 delay 후 실행 잘 쓰던건데 오랜만에 쓸려니깐 까먹어서 적어둠 [self performSelector:@selector(function) withObject:nil afterDelay:1.0];위와 같이 사용하면 function이란 함수를 1초 뒤에 실행 만약 함수에 인자(인자는 object형이여야 한다.)가 있다면[self performSelector:@selector(function:) withObject:object afterDelay:1.0]; 위와 같이 사용한다.int의 경우 NSNumber로 바꾸어서 사용해야한다.
[iOS] 시스템 루트 키체인을 수정할 수 없습니다. 인증서 추가 시 나오는 에러 이럴때는 로그인(좌물쇠 열려있는 부분)에다가 인증서를 드래그 앤 드랍하면 된다.