앱등이에게 살충제를 뿌린다.
-
[Functional Programming in Swift] Functor 이자 Monad 이다.는 무슨의미일까?앱등이에게 살충제를 뿌린다./Swift 2017. 12. 6. 17:19
어떤 Context가 Functor이자 Monad이다. 라는 말은 무슨뜻일까? Context의 Value를 map으로 transform하는 경우 Functor라고 할 수 있다.Context의 Value를 flatMap으로 transform하는 경우 Monad라고 할 수 있다. 따라서 어떤 Context가 Functor이자 Monad인 경우는 Value의 transform을 할 때, map, flatMap 둘 모두를 사용 가능할 때 쓰는말이다.Ex) Optional은 Functor이자 Monad인 Context이다. [까먹을까봐 메모 겸 작성]
-
[iOS] 사용자 동의 없이 사용자의 위치를 파악하기앱등이에게 살충제를 뿌린다./iOS 2017. 10. 12. 15:14
아이폰으로 사용자 동의 없이 사용자의 위치를 파악하고 싶다면, 하지 마라참고 : https://stackoverflow.com/questions/17577144/how-can-whatsapp-know-country-code-upon-first-run-on-iphone 우선, 사용자의 위치를 파악할 수 있을 만한 방법은 두 가지 정도 존재하겠다.1. CLLocationManager를 사용한다. -> 사용자 동의 필수2. 사용자의 IP주소를 파악하여, IP로 조회한다. -> 리젝 사유가 되기에 충분함어차피 애플은 사용자 동의 없이, 개발자에게 사용자의 위치를 알려줄 생각이 없다. 그래서, 유심을 통해서 국가 정도만 알아 내자. 콘솔에는 이렇게 찍히게 된다. Dialing code for "KR" is "+8..
-
[iOS-Rich Push] Notification Service Extension, Notification Content Extension을 알아보자. (푸쉬에 이미지 넣기)앱등이에게 살충제를 뿌린다./iOS 2017. 8. 31. 20:53
WWDC2016에서 iOS10과 함께 Notification Service Extension, Notification Content Extension이 소개되었습니다. 아이폰을 사용하시는 분께서는 이게 뭔지 잘 아시리라 생각됩니다.메세지 앱에 적용된 Extension Service Extension, Content Extension은 어떻게 다른 것인가?Service Extension적용하여 미디어 노출시키기Content Extension적용하여 푸쉬화면 커스터마이징하기Content Extension적용시 발생하는 몇 가지 문제점서버에서 해주어야 할일느낀 점1. Service Extension, Content Extension은 어떻게 다른 것인가? #Service Extension은 페이로드를 가로채 ..
-
[iOS] UIActivityViewController에 Instagram이 나오지 않는다?앱등이에게 살충제를 뿌린다./iOS 2017. 8. 16. 18:26
Swift3로 작성되었음 이 포스트에 사용된 예제: https://github.com/cpromise/ShareOnInstagram 사진앱을 켜서 공유버튼을 눌러보면 인스타그램으로 업로드가 가능하다. 우리 앱에서도 UIActivityViewController를 띄워 인스타그램으로 업로드를 해보자.코드는 매우 간단하다. let activityViewController = UIActivityViewController(activityItems: ["Title"], applicationActivities: nil) present(activityViewController, animated: true, completion: nil) 실행해보자.예상대로, 인스타그램은 없다.왜일까? 인스타그램은 Document Int..
-
[iOS] UICollectionView와 UICollectionViewFlowLayout의 관계: 간단하게 2단리스트를 만들어보자!앱등이에게 살충제를 뿌린다./iOS 2017. 8. 3. 01:16
Swift3기준으로 작성되었습니다.UICollectionView가 UICollectionViewFlowLayout와 함께 레이아웃을 만드는 과정을 간단히 알아보겠다.샘플앱을 보고,컬렉션뷰의 레이아웃 과정을 알아본 뒤,샘플앱을 수정해보자.1. 샘플앱컬렉션뷰를 하나 만들고 셀에는 UIImageView하나만 추가되어 있다. 이 쯔위앱을 만들기 위해서는 아래코드가 필요하다.import UIKit// 편의상 전역변수let imagesCount = 21var images: [UIImage] { /*...*/ return images } class ViewController: UIViewController, UICollectionViewDataSource { func collectionView(_ collection..
-
Adhoc과 in-House distribution의 차이앱등이에게 살충제를 뿌린다./iOS 2017. 7. 24. 21:27
in house 프로비저닝 프로파일(이하 PP)을 생성하기 위해서는 iOS 개발자 엔터프라이즈 계정이 필요하다.주로 사내 직원들에게 배포할 목적을 갖고 만드는 계정이다.일반 개발자 계정에는 in house배포용 PP가 없다.Adhoc PP는 배포타입이 Distribution이고, in house PP는 배포타입이 Universal Distribution이다. (아래 사진참조) Universal Distribution으로 배포할 때는, 디바이스의 UUID가 필요없다.사내망 또는 보안망을 통해서 접근할 수 있는 직원&테스터들이 마음껏 다운로드받을 수 있다.Adhoc PP는 테스트할 수 있는 단말을 지정해주어야하고, 3개월 뒤 PP가 만료된다. 두 인증서 모두 iOS 배포 인증서가 필요하다. 두 타입의 PP를..
-
[iOS] Kingfisher의 AnimatedImageView(UIImageView의 GIF재생)에 대하여앱등이에게 살충제를 뿌린다./iOS 2017. 7. 16. 16:14
Kingfisher를 통해서 gif재생을 한번 생각해보자. iOS에서 gif를 재생하기 위해서는 어떻게 해야할까?let imageView = UIImageView() let images = [UIImage(), UIImage(), UIImage(), UIImage()] imageView.animationImages = images imageView.startAnimating()이렇게 해야하나?이래도 되겠다.근데 이러지말자. 샘플 앱Kingfisher & 갓쯔위님과 샘플을 제작해보자.스토리보드 + 아래 코드만 사용했다. private func setImages() { let gifs = ["http://upload2.inven.co.kr/upload/2016/07/14/bbs/i10401856776.gif..
-
[DevDiary] 상반기 리뷰앱등이에게 살충제를 뿌린다./일기는 일기장에 2017. 7. 13. 13:02
상반기는 G프로젝트만을 진행했다.아직 오픈은 하지 않았고, 8월 중 오픈 예정이다.프로젝트를 하며 경험한 것들을 기록해본다. 1. 간단 에디터 구현.ImagePickerController를 사용하지 않고 Photos Framework를 사용하여 커스텀 Picker를 구현할 수 있었다.카메라 또한 AVCaptureSession을 사용하여 커스텀으로 구현할 수 있었다. Photos framework http://rhammer.tistory.com/229AVCaptureSession http://rhammer.tistory.com/231 2. Push, Pop, Present, Dismiss 커스텀 트랜지션 구현 Custom Transition http://rhammer.tistory.com/259 3. Co..