iOS Dev

Touch ID/Passcode 적용하기

January 23, 2016 Code

난이도: 하 @available(iOS 8.0, *) DeviceOwnerAuthenticationWithBiometrics @available(iOS 9.0, *) DeviceOwnerAuthentication 앱에 잠금을 하기 위해서 예전에는 직접 구현을 하거나 오픈소스를 가져다 쓰는 등으로 구현을 했었는데 iOS 8.0과 9.0에서 LocalAuthentication...

iOS 8 Today Extension(Widget) 여백 없애는 방법

October 11, 2014 Blog

iOS 8 Today Extension(Widget) 여백 없애는 방법iOS 8이 나오면서 많은 앱들이 Today Extension(이하 Widget) 지원하기 시작했다. 하지만 왼쪽에 아이콘 만큼 여백이 있는 앱도 있고, 여백 없이 꽉차게 나오는 앱도...

iOS 버전 호환 간단 버전

March 16, 2014 Blog

참조 http://lab.smoon.kr/75http://www.raywenderlich.com/42591/supporting-multiple-ios-versions-and-devicesiOS 7용 프레임워크를 사용하고 있는데 하위 OS인 iOS 6도 지원하려고 빌드를 하고 실행을 하니 image가 없다는 메세지와 함께 크래쉬가 된다. 뭔가 코드 상으로는 분기가 되도록 구현을 했는데 무조건...

iOS GameCenter에 로그인 안될 때

March 14, 2014 Blog

iOS GameCenter 개발중 유저 로그인이 안될 때는 GameCenter App을 실행해서 sandbox id로 접속이 되었나 확인하자. 이것 때문에 또 오랜시간 삽질.참조 :http://stackoverflow.com/questions/12557593/problems-with-game-centerhttp://stackoverflow.com/questions/4386321/game-center-authentication-error/4420457#4420457

퍼즐 게임 – 개발일지 : 1일차

February 26, 2014 Blog

핵심 알고리즘? 로직?을 구현중이다. 뭐 딱히 핵심은 아니지만 그래도 중요한 부분이니. 애니팡이나 비쥬얼드와 같은 게임 초기 보드 생성 알고리즘에서 처음에는 복잡하게 하나하나씩 비교해서 적어도 3개가 연속으로 안되게 생각했었는데, 그냥...

자신의 App에 별점 평가 위해 Appirater 적용하기

February 23, 2014 Blog

앱에 별점을 주는 프레임워크 Appirater https://github.com/arashpayan/appirater위에서 파일을 다운로드 받고 (또는 cocoPods, git 등등)으로 관련 파일 3개(Appirater.h, Appirater.m, AppiraterDelegate.h)를 프로젝트에 복사한다. 그리고 AppDelegate.m 구현파일을 아래와 같이 수정한다. 그리고 빌드를 다시 하면 자신이 설정한 주기 마다...

SpriteKit에 iAd, AdMob 붙이기

February 21, 2014 Blog

* iAd는 UIViewController에만 붙는다. iAd 문서https://developer.apple.com/library/ios/documentation/userexperience/Reference/iAd_ReferenceCollection/_index.htmlGoogle AdMob 문서https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals#ios두 개의 문서를 참조하여 필요한 프레임 워크 및 설정을 하도록 하자. AdMob에서는 Other Linker Flags에서 -ObjC 설정을 안해주면 뭔가 에러를 나니 꼭...

SpriteKit에서 현재 화면 캡쳐 및 트위터 공유하는 방법

February 12, 2014 Blog

게임이 끝나고 iOS 내장된 트위터를 통해서 점수를 보낼 때, 현재 화면을 캡쳐해서 UIImage로 저장하는 방법이다. - (void)onShareClicked:(id)sender {   NSString *scoreString = [NSString stringWithFormat:@"Just scored %ld.", (long)_score];   SLComposeViewController *tvc =...

(iOS) Category 란?

February 11, 2014 Blog

카테고리(Category)- 어떤 클래스에 기능을 추가하는 방식 - 상속(inheritance)를 사용하지 않고, 어떤 클래스에 메소드만을 추가하는 방식- 상속과 다르게 변수는 추가할 수 없고, 메소드만 추가 가능함. 사용법파일명- 기존클래스+확장이름- ex) NSString+Dollar, NSString+LongText코드 호출-...

(cocoapods) [!] Pod::Executable pull 문제 해결

February 10, 2014 Blog 2 Comments

어느순간 cocoapods를 사용하다 보면, pod install 이라고 쳤는데 console 창에 빨간 글씨의 화면이 아래처럼 나올때가 있다. 이러면 pod install 로 인해서 workspace가 생기지 않게 된다. 대처법은 간단한데 cocoapods의...

cocos2d에서 현재 화면 캡처하는 방법

February 10, 2014 Blog 1 Comment

게임이 끝나고 iOS 내장된 트위터를 통해서 점수를 보낼 때, 현재 화면을 캡쳐해서 UIImage로 저장하는 방법이다. - (void)onShareClicked:(id)sender { .... CCRenderTexture* renTxture = [CCRenderTexture renderTextureWithWidth:winsize.width                ...

(iOS) UIImagePickerController 이미지/동영상 저장하기

January 20, 2014 Blog

매번 찾아서 쓰던건데 너무 귀찮아서 정리한다. 카메라나 동영상의 간단한 뷰를 띄우기 위해서 UIImagePickerController 를 사용하는데 사진을 찍는 방법 , 동영상을 찍는 방법 및 아이폰 내장 포토 앨범에 저장하는...

(iOS)MKPointAnnotation에 정보(i) button 달기

January 14, 2014 Blog

MKPointAnnotation 에 정보(i) 버튼을 추가하고 싶었다. 지도 관련 액션을 actionsheet 를 이용해서 하거나 다른 버튼을 이용해서 했었는데 핀에 버튼을 눌러서 보여주고 싶었다. cocoacontrols 에 많은 개발자들이 만든 것이...

(iOS) SVProgressHUD + NSTimer

December 28, 2013 Blog 2 Comments

cocoapods 를 연동하면서 자주 사용하는 라이브러리에 대한 사용법을 정리해서 github에 올리고 있는데, 그 중에서도 단연 SVProgressHUD 는 네트워크 전송 혹은 앱내에서 어떤 연산작업을 할때 주로 사용되어졌는데, NSTimer 랑 연결해서...

(iOS) TestFlight 사용해서 ipa 배포하기

December 19, 2013 Blog 5 Comments

TestFlight에 대해서 알게된 경우는 최근에 티스토리 앱을 개발하는 어떤 개발자가 클리앙에서 테스트 해볼 사람을 모집하면서 였다. TestFlight 의 요점은 개발한 ipa 에 대한 테스트를 수동이 아닌 이메일을 통해서...

(iOS) Localization 이후, could not load XIB 오류

December 19, 2013 Blog

일단 이 문제의 전제는 처음에 언어가 en 으로 설정되어 있었다는 가정하에 출발을 한다. 필자가 겪은 상황은 이렇다. en으로 되어 있는 상황에서 한국어, 일본어 등이 추가된다. 그래서 나는 Localized.strings...

(iOS) NSMutableArray + Delegate

December 6, 2013 Blog

별 다른건 아니고 Objective-C 에서 데이터를 관리할때 사용하는 자료구조인 NSMutableArray 를 자주 사용하는데 네트워크 요청이나 위치 서비스 요청을 위한 큐(Queue)를 만들때 최근에 주로 사용해 왔다. 특히 하나의  NSMutableArray 를 감싸서(wrapping)...

(iOS) NSTimer 사용하기

November 22, 2013 Blog

개인적으로 타이머를 그렇게 좋아하진 않는다.(다들 개인적으로 좋아하지 않는 프로그래밍의 한 부분이 있을것이라 생각됨.) 사실 어떤 이벤트가 발생했다는 것을 타이머를 통해서 감지하거나 하는 경우가 있는데 그런 부분에서 잘 사용하진...

(iOS) NSCopying 프로토콜 구현하기

November 21, 2013 Blog

어떤 사용자 정의 클래스의 객체 자체를 copy 해야하는 경우가 있다. 그럴때 사용하는 것이 NSCopying 프로토콜이다. 객체를 복사할때는 copy 메소드를 사용하면 되는데, 실제로 copy 메소드가 복사를 수행하는 것이 아니라 copywithzone:...

(iOS) 애플맵 길찾기(navigation) 기능 호출하기

November 14, 2013 Blog

다양한 지도 어플들이 있고 그러한 지도 어플 업체나 플랫폼 업체에서 sdk 를 제공하긴 하지만 사실 약간의 문제들이 있다. 예를 들면, 전세계를 대상으로 앱을 만든다고 하면 우리에게 친숙한 네이버나...

(iOS) crashlytics 을 이용한 crash 관리 및 github 연동

October 30, 2013 Blog

vingle 에 갔을 때, 앱 개발 관련 소개를 들으면서 crashlytics 라는 서비스가 있다고 해서 메모해 두었는데, 실제 업무에 적용해 보았다.(crashlytics 는 트위터에 인수되었다고 한다.) 일단 crashlytics 는 간단히 말해서...