본문 바로가기

전체 글

(325)
다이어트 첫날 - 아침밥, 점심 코스, ABC주스, 링피트 일요일 저녁 아내와 늦은 산책길에 급 다짐을 했다. 이 상태로 있다가는 변화가 없겠다. 변화를 주자! 그 변화란 다이어트! 사실... 계속 다이어트를 한다고 하고 있었다.. 하지만 주말의 폭식으로 결국 현상 유지도 쉽지 않게 되었다. 아내와 약속을 했으니 독하게 하기로 했다. 그것도 내가 스스로 한 약속이니 기존보다 독하게...! 믿지 않겠지만 매일 아침마다 샤오미 미스케일 로 체지방을 측정하는 게 하루의 일과 중 하나이다. 체중 등 기타 측정 결과를 점수로 표현해주고 있다. 나의 평균은 55점 정도이다. 이 점수를 60 이상으로 유지하는 것이 1차 목표이다. 1차 목표 - 60 2차 목표 - 70 3차 목표 - 80 매일 해왔던 것과 같이 매일 측정해서 그날 상태를 확인할 예정이다. 운동은 매일 할 것..
스위프트 프로그래밍 : 객체지향, 함수형, 프로토콜 지향 패러다임까지 한번에!(Swift3) 초고수 야곰님이 쓴 swift3 책이 출시했습니다. 이번에는 ebook이 아니라 종이책입니다. 제가 베타리딩에 참여하고 서평도 남겼어요. 새로운 경험을 하게 해준 야곰 고마워요~ http://www.yes24.com/24/Goods/34717018?Acode=101
[Admob] 앱 실행시 전면광고 실행 앱을 실행해면 전면 광고를 실행해서 보여주게 하였다. 그러던 중 admob 으로 부터 메일 한통을 받았다. 경고를 받은 앱은 Android 앱이었지만 iOS에서도 동일한 방식으로 나오고 있었다. iOS도 수정이 필요한 상황이었다. 그래서 정책을 알아 보기로 했다. 여러 가지 정책이 있어서 모든 것을 다 소개할 수도 없고 내가 필요한 것은 기존 상태를 유지하면서 고칠 수 있는 방법이었다. https://support.google.com/admob/answer/6201362?hl=ko&ref_topic=2745287 `예기치 않게 실행되는 삽입 광고` > `허용되지 않는 광고 구현의 예: 앱을 열 때 삽입 광고 실행` 이 경우가 경고를 받았을 때의 경우이다. 이걸 이제 어떻게 수정해야 할까.. 이 방법대로 ..
Swift 무한(?)빌드 Swift build를 하다가 컴파일이 끝나지 않고 계속되는 현상을 발견했다. Appcode로 build 중이었는데 swift의 메모리가 끝없이 계속 증가했다. 의심가는 코드를 제거해 보니 빌드가 잘 된다. 아.. 엄청나다. 의심가는 코드를 Playground로 재작성해보았다. ?? 를 남발해서 그런것으로 보이는데... 이래도 되는건가?let optionalString: String? = nil let abc: [String:Int] = [ "a": Int(optionalString ?? "") ?? 0, "B": Int(optionalString ?? "") ?? 0, "c": Int(optionalString ?? "") ?? 0, "d": Int(optionalString ?? "") ?? 0, "..
[Perfect] Dependency 추가 프로젝트도 생성했으니 이제 뭔가 해보자. 음.. 아무래도 Backend 이고 하니... DB가 있어야 겠다. 많이 쓰는 Mysql 로 해보자. MySQL 을 사용하려면 MySQL용 Database connector 를 추가해야 한다. package.swift 의 dependency로 추가 가능하다.import PackageDescription let package = Package( name: "FirstPerfectProject", dependencies: [ .Package(url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git", majorVersion: 2, minor: 0), .Package(url:"https://github.com/Per..
[Perfect] 프로젝트 생성하기 Swift 서버 프레임워크가 몇가지 있는데 그중에 가장 먼저 접하게 된 것이 Perfect(https://www.perfect.org) 이다. 처음에는 문서도 부족해서 자세히 알아 볼 기회가 없었다. 오늘 새로운 서버 기능을 추가하기 위해 어떤 프레임워크를 써볼까 하다 갑자기 Perfect가 떠올라 문서를 읽어 보기로 했다. 새로 프로젝트를 시작하는 것은 어려운 일이 아니다. 알고 보니 정말 간단하다. 그 간단한것을 다시 한번 정리해 본다. Swift3 에 맞춰 Perfect 2가 출시되었다. 이 내용도 Swift3, Perfect2 에 맞춰 작성한다. 새로운 프로젝트를 생성하는 방법에는 크게 2가지가 있다.Template Proejct 를 받아서 수정한다. (https://www.perfect.org/..
ERROR ITMS-90635 ENABLE_BITCODE 설정때문에 발생하는 오류입니다. coocapods를 사용할 경우 pods안의 프로젝트들의 ENABLE_BITCODE가 true로 설정되어 발생합니다. podfile 안에 다음 코드를 추가하면 해결됩니다. post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['ENABLE_BITCODE'] = 'NO' end end end
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-..