-
Swift Fullscreen Share Extension 만들기
기존의 iOS Share Extension은 ShareViewController라는 작은 창을 이용하게 되어있다. 이 Share Extension을 요구사항에 맞게 풀스크린으로 제작하는 방법을 공유해본다. 작업환경 Xcode 9.4.1 Swift 4.1 iOS 11.3, 11.4 EntryViewController 작성 우선 공유 익스텐션에 접근시 가장 먼저 띄워줄 EntryViewController를 작성해준다. 기존에는 ShareViewController를 MainInterface.storyboard를 통해 팝업시켜주도록 되어있는데, 추후에 Info.plist를 수정하여 EntryViewController를 최초로 띄워주도록 변경하게 된다. import UIKit @objc(EntryViewController) class EntryViewController : UIViewController { override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) let shareVC = ShareViewController() shareVC.sharingData = self.extensionContext let nav...
-
[Project] 암호화 시세조회 앱 (iOS)
Swift를 이용해 암호화폐 실시간 시세와 한국 프리미엄을 조회할 수 있는 앱을 개발했습니다. Language : Swift Library : Alamofire / SwiftyJSON / SnapKit 기타 : Xcode, git 소스코드 스위프트와 Alamofire, SwiftyJSON 라이브러리를 이용해 암호화폐 거래소인 UpBit와 Bittrex의 실시간 시세 정보를 알려주는 애플리케이션을 개발하였습니다. 또한, Today Extension을 사용해 위젯을 통해 시세를 조회할 수 있는 기능을 더했습니다.
-
[Project] Cryptocurrency Price Ticker App (iOS)
I developed an app that display real time price ticker information of cryptocurrencies and Korea premiums. Language : Swift Library : Alamofire / SwiftyJSON / SnapKit ETC : Xcode, git Source Code I developed an application that shows the real-time cryptocurrencies price ticker information of UpBit and Bittrex using Swift, Alamofire and SwiftyJSON Libraries. Also, I added function that display ticker information in iOS widget using Today Extension.
-
Core ML 과 Vision: iOS11의 머신러닝 튜토리얼
출처 : Core ML and Vision: Machine Learning in iOS 11 Tutorial iOS11에서 새로이 업데이트 되는 머신러닝 기술인 Core ML과 Vision을 활용하는 적절한 튜토리얼이 있어 번역하며 공부해본다. 이 튜토리얼은 Xcode 9 Beta 버전 그리고 Swift4 와 iOS11 에서 정상작동한다. 머신 러닝의 인기가 대단하다. 많은 사람들이 그것에 대해 들어보았겠지만, 정확히 무엇을 이야기하는지 아는 사람은 그리 많지 않다. 이 튜토리얼은 Core ML과 Vision이라는 iOS11에서 처음 수개 된 프레임워크에 대해서 설명하고 있다. 특히 이미지의 장면을 분석하기 위해 Places205-GoogLeNet이라는...
-
Swift 기초 - 특징, 변수, 상수, 타입
출처 : SWIFTER 블로그 Swift에 대한 기본 개념을 정리하며 공부해본다. 스위프트의 특징 변수, 상수, 타입 변수와 상수 Bool 타입 Numeric 타입 String 타입 Array<Element> 타입 Dictionary<Key, Value> 타입 Optional<Wrapped> 타입 Any 타입 튜플 타입 타입 캐스팅 스위프트의 특징 Swift는 정적인 프로그래밍 언어이다. 정적 프로그래밍 언어란, 컴파일 등 프로그래밍 언어가 실행되기 이전 단계에서 변수/상수의 타입을 결정하는 언어를 의미한다. 정적인 언어는 동적 언어와 비교해 실행이 되기 전에 프로그램의 타당성이 검증되기 때문에 안정성이 높으며, 대규모 프로그램 개발에 적합하다는...
-
JWT(Json Web Token)을 이용한 모바일 인증
토큰 방식의 모바일 유저 인증에 대해 잘 정리되어 있는 글이 있어 번역하며 정리해본다. 출처: The Ultimate Guide to Mobile API Security 모바일 API 보안의 문제점 모바일 API보안에 OAuth2 도입하기 액세스 토큰 작동방식 모바일 API 보안의 문제점 가장 기초적인 API 보안의 형태는 HTTP Basic Authentication(HTTP 기본 인증)이다. 이 방식은 매우 간결하게 작동하기 때문에 API 서버를 만드는 사람이나 API를 활용할 개발자 모두에게 편리함을 제공해준다. 기본적인 작동방식은 다음과 같다. 개발자에게 API키(보통 ID와 PW)가 주어진다. 이 API키는 다음과 같은...
-
IGListKit 셀 선택시 배경 변경하기
IGListKit을 이용해 SideMenu를 구성하는 과정 중, 메뉴에서 해당하는 셀을 선택하면 아래의 이미지와 같이 활성화 된 셀의 배경색이 변경되게 구현하고자 한다. 처음에 기본적 형태만 구현한 상태에서는 탭을 해도 색상이 변하지 않고 해당 셀에 지정된 action만 행할 뿐이었다. 구현하기 원하는 기능은 탭을 하면 선택된 셀의 배경색이 변하고, 선택되지 않은 셀의 배경들은 투명 혹은 배경과 같은 색깔을 띄는 것이었다. IGListKit의 예제를 보고 응용해보면, 한 섹션의 색은 잘 변하지만, 다른 섹션의 셀 색깔은 개별 섹션컨트롤러에서 변경하는 것이 불가능했다. 결국...
-
IGListKit 튜토리얼
출처: IGListKit Tutorial: Better UICollectionViews iOS의 UICollectionView를 개선한 IGListKit의 튜토리얼을 번역하며 따라해본다. 시작하기 IGListKit 소개 UICollectionView를 IGListKit으로 대체하기 일지(Journal) Loader 추가하기 컬렌션 뷰 추가하기 IGListAdapter와 데이터소스 첫 Section Controller 만들기 메세지 기능 추가하기 화성의 날씨 업데이트 수행하기 마치며 대부분의 어플리케이션의 시작은 비슷비슷하다. 몇개의 스크린, 몇개의 버튼 그리고 한두개의 리스트. 하지만 시간이 지나고 어플리케이션의 규모가 커지면 기능들이 넘쳐나게된다(feature-creep). 당신의 깔끔했던 데이터 소스들은 데드라인과 PM의 압박에 시달리며 먼지가 되어간다. 잠시후, 당신은 거대한 뷰 컨트롤러(MVC, Massive View Controller)를...
-
iOS Notification 만들기
iOS Notification 만들기 본 포스팅은 OS X, Xcode 8, ios 10, Swift3.0 기반으로 작성되었습니다. APNS: Apple Push Notification Service APNS를 이용해 ios 어플리케이션에 notification을 전송하는 방법을 기록해봅니다. 애플 개발자 아이디가 있으며, 계정에 테스트를 진행할 기기가 등록되어 있다는 조건하에 진행합니다. 작업은 아래와 같은 순서로 진행됩니다. iOS Notification 만들기 개발자 계정 세팅 인증서 요청 생성 APP ID 생성 APNS 인증서 발급 서버용 APNS 인증서 발급 프로비저닝 생성 iOS Application 작성 프로젝트 설정 AppDelegate.swift 수정 구동 테스트 APNS...