본문 바로가기

Programming

(152)
GitHub Free vs Pro Private repository 가 free 에서 가능해지기 전에 구독을 하여 private repository 를 이용하고 있었다. 주로 쓰는 기능이 private repository 밖에 없는데 굳이 Pro를 유지해야 하나 라는 생각이 들었다. 도대체 무슨 차이가 있을까? Free Pro ($4/month) Private repository unlimited unlimited GitHub Community Support O O GitHub Dependabot alerts O O Two-factor authentication enforcement O O GitHub Actions minutes 2,000 3,000 GitHub Packages storage 500MB 2GB GitHub Support..
[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-..
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