본문 바로가기

전체 글

(288)
Firebase를 이용한 채팅 구현 (1) - 프로젝트 설정 (iOS) Google I/O 에서 Firebase 에 대한 발표 후 Firebase에 대한 언급이 많아지고 있네요. 테스트를 해보니 채팅을 구현하기 정말 쉬울 것 같아서 한번 만들어 보겠습니다. 채팅 구현에 여러가지 기능을 넣을 수 있겠지만 텍스트 대화와 푸시없이 구현하도록 하겠습니다. 사용하는 Firebase의 기능은 Realtime database, Authentication 입니다. Firebase 프로젝트 설정 https://console.firebase.google.com 접속 `새로만들기` 클릭 프로젝트 `이름`과 `국가/지역` 선택 iOS 앱에 Firebase 추가 `iOS 번들 ID` 입력 (실제 iOS bundle id 와 같아야 합니다.) `앱 추가` 버튼을 클릭하면 `GoogleService-..
ITM-90205, ITMS-90206 Extension 사용하는 앱을 upload to app store 할때 90205, 90206 에러가 동시에 발생하는 경우cocoapods가 원인.. 1. Open the (Your App).xcodeproj file (this is the first file on the project navigator pane). 2. Switch to the target for your app extension (on the top left of the middle pane). 3. Go to the Build Phases tab 4. Click the X after "Embed Pod Frameworks"https://github.com/CocoaPods/CocoaPods/issues/4203
failed installing application, reason: Error Domain=JBDeviceKitErrprDomain Code=-402620392 "AMDeviceSecureUpgradeApplication failed with err = -402620392 XCode, AppCode 등에서 iOS 앱 개발을 하다가 새로운 오류를 경험했습니다.시뮬레이터에서 잘 되는데 실제 디바이스에서는 실행이 되지 않고 다음과 같은 오류가 발생했습니다.AppCode failed installing application, reason: Error Domain=JBDeviceKitErrprDomain Code=-402620392 "AMDeviceSecureUpgradeApplication failed with err = -402620392(The identity used to sign the executable is no longer valid.)" UserInfo={NSLocalizedDescription=AMDeviceSecureUpgradeApplication failed..
Kotlin function 의 return 타입을 void 로 하고 싶어요 callback lambda 를 function의 parameter로 넘겨서 사용하려고 합니다. lambda의 정의는 간단하죠. 함수 정의 fun saveFile(value: Int, callback: (value: Int) -> Void) { } 함수 사용 functionName(10, { value -> }) 이렇게 하면 당연히 될줄 알았습니다. 대부분의 언어에서 return 값이 없으면 void 또는 빈값을 해서요... https://kotlinlang.org/docs/reference/functions.html#unit-returning-functions return 값이 없을 때는 Unit type 으로 return type 을 지정해야 한다고 되어 있습니다. 함수 정의 fun saveFile(..
Kotlin class 가져오기 (Java에서 ClassName.class) 최근에 안드로이드 프로젝트를 새로 시작했습니다.혼자하고 작은 프로젝트라서 Kotlin으로 하고 있습니다. (유지보수는 누가하지...)Swift와 비슷해서 시작했는데 다른 부분이 더 많네요.여러 부분에서 막히고 문서 보고를 반복하다가 방금 찾아 본 것을 남겨봅니다. Android 에서 새로운 Activity를 실행하려고 할때 Activity 의 class type을 넣어줘야 하는데요.Java Intent intent = new Intent(this, MainActivity.Class); Kotlin val intent = Intent(this, javaClass()) 위 방법은 현재 deprecated 입니다. 현재 버전에서는 다음과 같이 사용해야 합니다. Kotlin val intent = Intent(..
ERROR ITMS-90206 "Invalid Bundle. The bundle at 'name.app/PlugIns/Extension.appex' contains disallowed file 'Frameworks'." Action Extension Target을 추가하여 이전까지 문제 없이 사용하고 있었다.오늘 업로드를 하는 과정에서 다음과 같은 오류가 발생하면서 더 진행이 되지 않는다......검색과 삽질 끝에 해결은 했다.Extension 자체는 Framework를 copy하지 않기 때문에 App이 가지고 있는 Framework를 사용해야 한다고 한다.cocoapods로 Extension Target에 framework를 추가했었는데 이 부분이 문제였다.이전 까지 문제 없다가 iOS9 출시 후 부터가 문제가 되기 시작했다.Extension Target에서 cocoapods의 흔적을 다 지우고 다음 링크에 있는 방법대로 하면 된다.https://hanseihee.wordpress.com/2015/01/14/xcode..
Error loading the plugin with path `/Library/Ruby/Gems/2.0.0/gems/cocoapods-stats-0.6.0/lib/cocoapods_plugin.rb`. cocoapods 0.38.2 로 업데이트 후에 pod 명령어만 실행하면 아래와 같은 오류가 발생한다. Chopeui-MacBook-Pro:iOS-classic Chope$ pod --version --------------------------------------------- Error loading the plugin with path `/Library/Ruby/Gems/2.0.0/gems/cocoapods-stats-0.6.0/lib/cocoapods_plugin.rb`. LoadError - cannot load such file -- /Library/Ruby/Gems/2.0.0/gems/cocoapods-stats-0.6.0/lib/cocoapods_plugin.rb /System/Librar..
Swift keyboard notification Swift version : 1.2iOS version : 8.4 Swift 문법도 익숙치 않은데 NSNotificationCenter 사용하려는데 막히는 부분이 많고... Notificaiton 에서 keyboard 관련 정보 가져오려는데.... 왜이리 오류가 많은지.. 다음과 코드가 동작함을 확인하였으니 참고하세요. NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UIKeyboardWillShowNotification, object: nil) func keyboardWillShow(notification: NSNotification) { let userInfo = no..