IOS
-
[Raywenderlich - iOS] Universal Link 적용하기앱등이에게 살충제를 뿌린다./iOS 2017. 7. 2. 03:21
iOS9에서 소개된 Universal link. Raywenderlich의 튜토리얼을 살펴봅니다! 혹시 제공하는 서비스가 웹과 iOS앱을 함께 지원하고 있나요? iOS9에서 웹과 앱을 연결할 수 있는 Universal link가 소개되었습니다. 사용자가 웹에서 HTTP link를 탭하면 즉시 앱으로 서비스가 연결되는 아주 seamless한 기능이지요. 이번 튜토리얼에서는 Heroku웹사이트를 iOS앱과 연결하는 방법을 소개합니다. 이 서비스는 single-board computer(아두이노, 라즈베리파이 등)를 소개합니다. 참고로, Universal link적용을 위해서는 반드시 애플 개발자 계정이 등록되어 있어야 합니다! NoteUniversal link을 사용하면 URL Scheme의 기능을 대부분 ..
-
[DevDiary] Custom Transition & CoreAnimation앱등이에게 살충제를 뿌린다./일기는 일기장에 2017. 6. 24. 10:08
막바지에 다다르고 있는 프로젝트에서 UI Animation을 많이 경험할 수 있었다.사내에 Animation를 통해 UX/UI를 연구하는 부서가 있다보니 디테일한 요구사항이 많았고, 굉장히 이쁜 결과물을 얻을 수 있었다. 1. Push/Pop/Present 애니메이션처음에는 굉장히 어려워 보였지만, UIViewControllerAnimatedTransitioning를 Implement하는 방법을 안다면 어떤 트랜지션효과도 무섭지가 않다. Present를 위한 트랜지션은 func animationControllerForPresentedController(presented: UIViewController, presentingController presenting: UIViewController, source..
-
[iOS/Push] XCode에서 푸쉬알림으로 앱실행하는 것을 디버깅하려면?앱등이에게 살충제를 뿌린다./iOS 2017. 6. 9. 00:13
와.. 진짜 무식하면 손발이 고생한다고 누군가 나의 귀에 속삭인 것 마냥 손발이 힘들었다. 앱에서 푸쉬알림을 받으면, 3가지의 경우가 존재한다. 1. App running on the foreground2. App running on the background3. App not running 디버깅을 생각해보자.1, 2번의 경우는 XCode에서 평소와 같이 Build&Run을 하여 디버깅을 하면 된다. 하지만 3번의 경우는 어떻게 디버깅을 할 수 있을까?난 무식한 놈이라서 로그를 찍으면서 개발을 하였다. 하지만 사실은 안그래도 된다.아래 사진처럼 Edit Scheme메뉴에서 Wait for executable to be launched를 선택한 뒤에 빌드해주자. 이렇게 하면 앱이 아이폰에 Install되..
-
[iOS/APNS] Notification의 payload에는 무엇이 있을까?앱등이에게 살충제를 뿌린다./iOS 2017. 6. 9. 00:04
{ "aps": { "alert": "Breaking News!", "sound": "default", "link_url": "https://raywenderlich.com" } }푸쉬알림의 Payload는 보통 위와같은 형태입니다. json타입이고 root key값은 "aps"입니다.그럼 "aps" 딕셔너리에 담기는 주요 키 값들에 대해서 알아보겠습니다.alert. 보통 문자열이 들어갑니다. 딕셔너리를 사용해서 문자열을 Localize할수도 있습니다. 알림에 표시되는 메시지가 alert에 해당합니다.badge. 앱아이콘 오른쪽상단에 표시되는 숫자를 나타냅니다. 0으로 설정하면 숫자가 사라집니다. thread-id. 알림을 그룹화하기 위한 키 값을 입력합니다.sound. 알림의 사운드를 설정할 수 있습니..
-
[CALayer] CAScrollLayer에 대해서 알아보자.앱등이에게 살충제를 뿌린다./iOS 2017. 6. 6. 23:46
예제에 사용된 앱 : https://itunes.apple.com/us/app/layer-player/id949768742?mt=8예제에 사용된 소스 : https://github.com/scotteg/LayerPlayer원문 : https://www.raywenderlich.com/90488/calayer-in-ios-with-swift-10-examples CAScrollLayer는 스크롤가능한 Layer를 표현합니다. CAScrollLayer는 간단한 편이고, 사용자의 터치나 제스쳐에 다이렉트로 respond할 수 없습니다. 그렇다면 UIScrollView의 layer는 CAScrollLayer타입일까? 라는 의문이 생길 수 있는데요. 그건 아닙니다. UIScrollView는 CALayer의 bou..
-
[CAShapeLayer] CAShapeLayer에 CAAnimation 추가하기앱등이에게 살충제를 뿌린다./iOS 2017. 5. 25. 01:22
CAShapeLayer클래스는 Bezier곡선을 그리기 위한 CALayer의 서브클래스다. Bezier는 곡선을 그리는 알고리즘이다. 그게 끝이다. ㄷㅓ 몰라도 된다. 베지어 곡선: 정말 말 그대로 곡선을 그리는 알고리즘 이 베지어 곡선을 CAShapeLayer로 생성할 때, Animation을 추가하지 않으면 다 그려진 모습으로 화면에 뿌려지겠지만, CAAnimation을 추가하면 화면에 그려지는 효과를 나타내어 애니메이션을 제공할 수 있다. CAAnimation을 추가하지 않은 CAShapeLayer CAAnimation을 추가한 CAShapeLayer 그럼 위 예제를 구현하기 위해 CAAnimation을 추가하는 과정을 코드로 살펴보자. CALayer의 transform에서는 UIView와 달리 3..
-
[iOS] 얼굴인식을 위한 CIDetect를 알아보자.앱등이에게 살충제를 뿌린다./iOS 2017. 4. 10. 13:00
UIImage에 사람의 얼굴이 있다면 이를 Detect하는 것이 가능합니다. 다른 오픈 소스나 엔진을 통한 것이 아닌 Apple의 SDK에서 제공하고 있습니다. 바로 CIDetect라는 클래스를 통해서 제공하고 있는데요. 사용법은 간단합니다. CIDetect클래스를 만들어서 이미지 객체를 전달하면 이미지상에 있는 얼굴의 좌표를 리턴해줍니다. 예제 소스만 첨부하고 총총총~ 이 코드를 사용한 앱 (feat. 아이린)