모바일 113

NAT64 세팅

이제는 IPv6를 기본적으로 앱에서 지원을 하도록 애플이 자기 마음대로 바꿨기 때문에, 이를 무시하고 등록하려 하다가는 등록거부가 된다. 따라서 NAT64환경을 구축하여 네트워크를 생성해 모바일 기기로 접속이 되는지 확인해야한다. 환경설정 -> ALT를 누른 상태에서 공유 클릭 -> 인터넷공유 하면 NAT64네트워크 생성을 할수있고 테스트도 할수있다능

모바일/iOS 2016.09.14

[Swift] 컴파일시 페이스북 프레임워크를 못찾을때의 사소한 에러

위와같이 페이스북을 sdk를 쓸경우 framework not found Bolts for architecture armv7라는 에러메시지가 떨어진다면, 이는 프레임워크 파일을 복사해다가 쓰느라 상대경로에 있는 Bolt가 제대로 세팅이 안되어서 그렇다. 따라서, 페이스북에서 가이드하듯이 그냥 Document / FacebookSDK 에서 링크를 걸면 된다. 그니까 같은 폴더에 다 복사해주어야 한다는 뜻

모바일/iOS 2016.08.20

[Swift] 프리버전과 유료버전 구별해서 두개 프로덕트 출시 (안드로이드 - Product Flavor)

참고 : https://www.andyibanez.com/writing-a-lite-and-pro-versions-of-your-app-in-swift/ 어렵지않다. 참고링크를 참조한다. 그냥 냅다 프로젝트에 가서 Target에 하나 카피를 한다. 그리고 Build Settings --> Swift Compiler - Custom Flags --> Other Swift Flags --> 디버그 혹은 릴리즈에 가서 "-D" -DDEBUG -DPREMIUM 문구를 써주면 된다. 물론 프리버전은 -DFREE 이제 빌드시마다 알아서 다르게 컴파일이 된다. 스위프트는 아예 코드를 분기해서 써먹을수 있다. 그리고 코드에 가서 다음과 같이 #과 함께 분기문을 타게하면 되는데 다음과 같다. 아 쉽다.

모바일/iOS 2016.08.15

[Swift] 에러 확인 및 코어데이터 모델 생성시 주의

제일 왼쪽 메뉴에서 대화창처리 되어있는 아이콘 (맨 오른쪽)을 누르면, 콘솔이 켜지면서 런타임 에러에 대한 정보가 시시각각으로 확인 가능.또한 코어데이터에서 모델 생성시, Entity 창의 Class에서 제대로 클래스를 등록해주어야 캐스팅이 될수있다. 그 클래스는 사실 아래의 패키지까지 표시해주어야 할필요가 있는데 잘 안되는것으로 보아 아래의 코드로 대체한다.해당하는 클래스로 가서 위에 어노테이션을 달아준다. 그럼 제대로 캐스팅이 된다.@objc(클래스명) 출처 : http://stackoverflow.com/questions/25897122/executefetchrequest-throw-fatal-error-nsarray-element-failed-to-match-the-swift

모바일/iOS 2016.08.13

as 연산자 이해

출처 :http://soooprmx.com/wp/archives/6240 as 연산자를 옵셔널과 함께 사용하는 경우항상 캐스팅에 성공하는 것이 확실한 경우 (이는 컴파일러가 판단할 수 있다.) as를 사용한다. 예를 들어 NSString은 항상 String으로 변환가능하므로 as를 쓴다.let ns: NSString = "Good morning." let st = ns as String다운 캐스팅의 경우 as?를 쓴다. 왜냐하면 다운캐스팅은 어떤 경우에 실패할 수 있기 때문이다. 따라서 as?의 경우 성공한 경우에는 옵셔널로 캐스팅되고 그렇지 않은 경우에는 nil이 리턴된다.as!는 as?의 리턴타입이 암시적으로 언래핑된 옵셔널타입으로 만든다. 즉 캐스팅에 성공한 경우, 리턴 타입을 다시 옵셔널 언래핑하..

모바일/iOS 2016.08.13