앱등이에게 살충제를 뿌린다.
-
[iOS/GCD] dispatch_async, dispatch_sync앱등이에게 살충제를 뿌린다./고무망치를 도와라 2016. 11. 12. 20:53
1. dispatch_async(queue, block)queue에 block을 비동기로 실행하도록 작업을 추가한다. 이 때, queue가 concurrent queue라면, 원하는대로 작업이 가능함하지만 serial queue라면? asnyc로 추가한 의미가 사라지는 것인가? 2. dispatch_sync(queue, block)queue에 block을 동기로 실행하도록 작업을 추가한다. 이 때는 queue가 serial queue인지, concurrent queue인지 무의미한 것이 아닌가?concurrent queue에 넣어봤자, 동기로 처리할텐데 즉..dispatch_sync에서는 어떤 큐에 넣어도 같은 결과가 나오고,dispatch_asnyc에서는 큐가 serial인지 concurrent인지에 ..
-
[Apple Dev Reference - Advanced Swift] Initialization (1)앱등이에게 살충제를 뿌린다./Apple Dev Reference 2016. 10. 24. 23:55
Initialization은 Class, Structure, Enumeration의 인스턴스를 만드는 과정을 말한다. 이 과정에서 프로퍼티의 값을 초기화하거나 초기화에 필요한 작업을 수행하게 된다. 이러한 작업은 개발자가 initializer를 구현하여 수행할 수 있다. initializer는 조금 특별한 메소드라고 생각할 수 있는데, 클래스의 인스턴스나 구조체 등을 만들 때 호출된다. Objective-C의 initializer와 달리 Swift의 initializer는 리턴 값이 없다. 그저 인스턴스를 사용하기 전에 객체에 대한 초기화를 수행할 뿐이다. Class객체는 deinitializer를 구현할 수도 있다. deinitializer는 인스턴스가 메모리에서 해제되기 전에 호출된다. 이 또한 개발..
-
iOS10을 대응하며..앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 10. 7. 23:32
B앱만 하다가 P앱을 혼자 맡게 되었다.iOS9에서는 잘 되는게 iOS10에서는 안된다. 한 두개가 아니다.팀쿡 머리털 뽑아버리고 싶네.작작 바꾸라고.. 오늘의 개고생1. [[UIApplication sharedApplication] registerUserNotificationSettings:settings]; [[UIApplication sharedApplication] registerForRemoteNotifications]; 을 요청했으나 didRegisterForRemoteNotificationsWithDeviceToken과 didFailToRegisterForRemoteNotificationsWithError둘 중 그 어느것도 호출되지 않음. iOS9에선 되는데 10에선 안되.구글에 검색어를 쳐..
-
iOS10에서 ATS에 바뀐점! SSL/TLS관련앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 9. 30. 11:04
iOS9발표와 함께 NSAppTransportSecurity라는 키가 생겼습니다. iOS8까지 http 통신을 사용하던 커넥션이 iOS9에서는 먹통이 되었는데요, 바로 이 키 값에 대한 sub키들을 설정하면서 수정할 수 있었습니다.http://rhammer.tistory.com/67 에서도 꼼수를 소개했었구요. iOS10에서는 그럼 변동사항이 없느냐? 있습니다.일부만 소개합니다.. 여기에 적은 변동사항 외에도 엄청 많습니다.WKWebView 관련된 이슈가 좀 대표적일 것 같네요. 그냥 이해안되도 한번 읽어보시면 도움이 될 것 같네요. 저도 이해안되요... iOS10에서는 NSAppTransportSecurity키에 아래의 서브키가 추가됩니다.NSAllowsArbitraryLoadsInMediaNSAllo..
-
iOS10에서의 ATS.. 너무 힘들지만 TLS version을 건들여 보자..앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 9. 29. 21:59
webView:didFailLoadWithError:](410) error: Domain=NSURLErrorDomain Code=-1200 "SSL 오류가 발생했기 때문에 서버에 안전하게 연결할 수 없습니다." UserInfo={_kCFStreamErrorCodeKey=-9824, NSLocalizedRecoverySuggestion=서버에 연결하겠습니까?, NSUnderlyingError=0x610000249690 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 "SSL 오류가 발생했기 때문에 서버에 안전하게 연결할 수 없습니다." UserInfo={NSErrorFailingURLStringKey=https://subsubdomain.subdomain.domain..
-
[iOS] 아이패드(iPad)에서 UIActivityViewController를 Present하면 크래쉬가 발생.앱등이에게 살충제를 뿌린다./iOS 2016. 9. 20. 21:06
원인은 간단하다. 아이패드에서는 popover형태로 activityViewController를 보여준다. 따라서 UIActivityViewController의 프로퍼티인 popoverPresentationController에 몇 가지 셋팅을 해주어야 한다. 2,3번째 줄의 코드처럼 popover될 위치를 잡아주어야 한다. sourceView는 위 스샷에서는 공유하기버튼 객체가 될 것이고sourceRect는 버튼의 bounds가 될 것이다. 이 작업을 하지 않으면 아이패드에서는 100% 크래쉬가 발생한다.