크래쉬
-
[iOS/디버그일지] UIPageViewController의 setPage에서 크래쉬 발생 (*** Assertion failure in -[_UIQueuingScrollView _replaceViews:updatingContents:adjustContentInsets:animated:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3600..앱등이에게 살충제를 뿌린다./iOS 2018. 2. 9. 16:14
setViewControllers([viewController], direction: .forward, animated: true, completion: { [weak self] (_) in self?.someUIMethod()}) 음.. 크래쉬 발생함 *** Assertion failure in -[_UIQueuingScrollView _replaceViews:updatingContents:adjustContentInsets:animated:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3600.9.1/_UIQueuingScrollView.m:377 원인은 setViewControllers의 completion 클로져가 메인 스레드에서 ..
-
[iOS] 아이패드(iPad)에서 UIActivityViewController를 Present하면 크래쉬가 발생.앱등이에게 살충제를 뿌린다./iOS 2016. 9. 20. 21:06
원인은 간단하다. 아이패드에서는 popover형태로 activityViewController를 보여준다. 따라서 UIActivityViewController의 프로퍼티인 popoverPresentationController에 몇 가지 셋팅을 해주어야 한다. 2,3번째 줄의 코드처럼 popover될 위치를 잡아주어야 한다. sourceView는 위 스샷에서는 공유하기버튼 객체가 될 것이고sourceRect는 버튼의 bounds가 될 것이다. 이 작업을 하지 않으면 아이패드에서는 100% 크래쉬가 발생한다.
-
weak property에 클래스 초기화구문을 대입하면 OOO. (안된다)앱등이에게 살충제를 뿌린다./iOS 2016. 4. 7. 18:39
let frame = CGRect(x: 0, y: 0, width: 100, height: 100) weak var myButton: UIButton! var myButtonNotWeak: UIButton! override func viewDidLoad() { myButton = UIButton(frame: frame) myButtonWithoutWeak = UIButton(frame: frame) }라는 코드가 있다고 할 때, myButton은 nil이 되고 myButtonWithoutWeak는 UIButton객체를 갖게 된다. 이게 왜 문제냐면.. 이 코드가 아래와 같았다면?let frame = CGRect(x: 0, y: 0, width: 100, height: 100) weak var myButt..