카테고리 글 목록: iOS
모바일 디바이스간 P2P 연결 및 데이터 전송 방법
iOS/Android 모바일 디바이스들 사이에서 P2P 형태로 데이터 전송을 하는 방법에 대해 리서치 할 일이 있어서 알아본 내용을 간단히 공유합니다. 네트웍 타입별 Android/iOS P2P 연결 가능성 체크 Bluetooth 애플 MFi인증 디바이스만… [본문 읽기]
Playground에서 Cocoapod 라이브러리 사용하기
엑스코드 플레이그라운드(Xcode Playground)에서 간단하게 코드를 테스트 해보고 싶은데 해당 코드가 특정 cocoapod 라이브러리에 의존성이 있는 경우 cocoapods-playgrounds 명령어 도구를 사용하면 편리하다. 설치 및 사용 방법 설치 sudo gem install cocoapods-playgrounds… [본문 읽기]
Swift struct vs. class 차이점 비교 분석
Swift에는 struct와 class타입이 공존하고있기 때문에 아래의 차이점을 잘 숙지하고 상황에 맞게 사용하는것이 매우 중요하다. struct call by value (할당 또는 파라메터 전달시 value copy가 일어남) stack memory 영역에 할당 (속도가… [본문 읽기]
Swift Closure vs. Objective-C Block 차이점 비교 분석
Obj-C의 블락(block)이나 Swift 클로저(closure)는 컨셉은 거의 동일하나 closure 내부에서 현재 scope에 존재하는 값 타입(value type) 변수들을 캡쳐(capture)해서 사용할 때 기본동작이 반대로 되어있기 때문에 사용법에 주의를 기울여야 한다. 반면 클래스 인스턴스와… [본문 읽기]
Swift 익스텐션, Obj-C 카테고리 메서드명 Prefix하기
Obj-C category의 위험성 Obj-C에서 동일한 메서드 이름을 가진 카테고리(category) A, B가 동시에 존재하더라도, 컴파일 타임에 오류가 발생하지 않고 정상적으로 빌드되어 실행이 가능하다. 하지만 런타임에서 A와 B중 어떤 녀석이 먼저 호출될지… [본문 읽기]
유니버셜링크 vs. 커스텀URL스킴 비교 분석
iOS의 경우 기본적으로 Sandbox환경이라 다른 앱들간에 정보를 주고받는것이 간단하지 않다. 이때 정보를 주고받을 수 있는 대표적인 방법이 custom URL scheme이다. 앱의 고유한 scheme을 정의하고 이 scheme으로 시작하는 URL안에 정보를 담아서… [본문 읽기]
iOS 인앱 정기결제(IAP Auto-renewable Subscription) 튜토리얼
iOS 앱에서 상품을 등록하고 판매하는 과정은 꽤나 복잡하다. 그 중에서도 정기구독 자동결제(Auto-Renewable Subscription) 상품을 판매하는 경우 신경써야 할 부분이 매우 많다. 2016년 WWDC에서 애플은 Auto-Renewable Subscription을 모든 카테고리의 앱에 적용가능하도록… [본문 읽기]
UIImage의 scale을 올바르게 처리하기
UIImage의 size 는 픽셀(px)단위가 아닌 포인트(point) 단위로 처리가된다. 따라서 사이즈 정보에 추가적으로 스케일(scale) 정보를 같이 같고있다. UIImage를 bundle에서 [UIImage imageNamed:]를 이용하여 불러올때는 이미지에 붙어있는 @2x 또는 @3x 포스트픽스를 통해서 해당이미지의… [본문 읽기]
Cocoapod version update for Mac OS Yosemite
Mac OS X Yosemite 로 업그레이드를 하게되면 cocoaPod이 잘 작동하지 않을것이다. 이때 다음 인스트럭션을 따라 해결해 나가면 된다. 코코아팟 최신버전으로 업데이트 (현재 최신은 0.34.4 입니다) sudo gem uninstall cocoapods… [본문 읽기]