2015-11-18 13 views
6

Đây là một dấu vết xếp chồng đẹp, bởi vì looking around, điều duy nhất tôi có thể nghĩ là người dùng iPhone 6s đang cố gắng chạm vào thứ gì đó và công cụ nhận dạng cử chỉ của tôi (ở đâu đó, tôi không biết cái nào vì nó không cho tôi biết dòng nào hay thậm chí bộ điều khiển nào) không biết cách xử lý nó? Tôi chưa thêm bất kỳ công cụ nhận dạng cử chỉ 3D nào cũng như tôi không triển khai các tương tác 3D-touch ở bất cứ đâu.iPhone 6s - iOS 9.1 gặp sự cố trên [UICollectionViewController previewingContext: viewControllerForLocation:]

Tôi đã nhắm mục tiêu iOS 8 trong bản dựng này và tôi không có iPhone 6s để kiểm tra không may nên không thể tái tạo nó.

Suy nghĩ về những gì có thể gây ra nó, làm thế nào để thu hẹp nơi/những gì và làm thế nào để tái sản xuất, và làm thế nào để xử lý các trường hợp ngoại lệ?

Thread : Fatal Exception: NSInvalidArgumentException 
0 CoreFoundation     0x18586cf48 __exceptionPreprocess 
1 libobjc.A.dylib    0x19ad17f80 objc_exception_throw 
2 CoreFoundation     0x185873b54 __CFExceptionProem 
3 UIKit       0x18b63438c -[UICollectionViewController previewingContext:viewControllerForLocation:] 
4 UIKit       0x18b187d7c -[_UIViewControllerPreviewSourceViewRecord previewInteractionController:viewControllerForPreviewingAtPosition:inView:presentingViewController:] 
5 UIKit       0x18b43cd4c -[UIPreviewInteractionController startInteractivePreviewAtLocation:inView:] 
6 UIKit       0x18b43d848 -[UIPreviewInteractionController startInteractivePreviewWithGestureRecognizer:] 
7 UIKit       0x18b43e8c0 -[UIPreviewInteractionController _handleRevealGesture:] 
8 UIKit       0x18b37b330 _UIGestureRecognizerSendTargetActions 
9 UIKit       0x18afa4b5c _UIGestureRecognizerSendActions 
10 UIKit       0x18ae3285c -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] 
11 UIKit       0x18b37c70c ___UIGestureRecognizerUpdate_block_invoke898 
12 UIKit       0x18adf18b8 _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks 
13 UIKit       0x18adee63c _UIGestureRecognizerUpdate 
14 UIKit       0x18ae306cc -[UIWindow _sendGesturesForEvent:] 
15 UIKit       0x18ae2fcc8 -[UIWindow sendEvent:] 
16 UIKit       0x18ae004a4 -[UIApplication sendEvent:] 
17 UIKit       0x18adfe76c _UIApplicationHandleEventQueue 
18 CoreFoundation     0x185824544 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 
19 CoreFoundation     0x185823fd8 __CFRunLoopDoSources0 
20 CoreFoundation     0x185821cd8 __CFRunLoopRun 
21 CoreFoundation     0x185750ca0 CFRunLoopRunSpecific 
22 GraphicsServices    0x190cd4088 GSEventRunModal 
23 UIKit       0x18ae68ffc UIApplicationMain 
24 XXXXXXXXXX      0x10013739c main (main.m:16) 
25 libdyld.dylib     0x19b55a8b8 start 

Trả lời

5

Bạn có sử dụng UIImagePickerController ở đâu đó trong ứng dụng của mình không? Đã xảy ra sự cố đã biết với sự cố đó và chạm 3D: UIImagePickerController crashing on force touch?

Chạm vào ảnh ở UIImagePickerController có vẻ như sẽ gặp bất kỳ ứng dụng nào. Tôi đoán chúng tôi sẽ phải đợi cho đến khi Apple sửa lỗi này.

+0

Yup, nghiên cứu của tôi dẫn đến cùng một kết luận. – brandonscript

+0

Câu trả lời ban đầu của tôi có một liên kết đến cùng một câu hỏi này, xin lỗi :) Đã cho họ trộn lẫn trong bảng của tôi ... Đã sửa lỗi ngay! – Argentumko

+0

Ồ, chờ đã, bạn thực sự có liên kết đó trong câu hỏi của bạn và tôi không nhận thấy. Việc này thật là xấu hổ! Tôi đoán tôi vừa xác nhận rằng tôi đang gặp vấn đề tương tự ¯ \\ _ (ツ) _/¯ – Argentumko

6

PUPhotoGridViewController (được sử dụng trong UIImagePickerController) là một UICollectionViewController đơn giản và bạn có thể viết phần mở rộng cho phương thức không được triển khai.

extension UICollectionViewController: UIViewControllerPreviewingDelegate { 
    public func previewingContext(previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? { 
     return nil; 
    } 

    public func previewingContext(previewingContext: UIViewControllerPreviewing, commitViewController viewControllerToCommit: UIViewController) { 

    } 
} 
+0

Còn Obj-C thì sao? – brandonscript

3

Cảm ơn bạn đã @Antigp'answer!

Đây là phiên bản OC:

Tiêu đề

@interface UICollectionViewController (FixCrash) <UIViewControllerPreviewingDelegate> 
- (UIViewController *)previewingContext:(id<UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location; 
- (void)previewingContext:(id<UIViewControllerPreviewing>)previewingContext 
    commitViewController:(UIViewController *)viewControllerToCommit; 
@end 

Thực hiện

@implementation UICollectionViewController (FixCrash) 
- (UIViewController *)previewingContext:(id<UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location { 
    return nil; 
} 
- (void)previewingContext:(id<UIViewControllerPreviewing>)previewingContext 
     commitViewController:(UIViewController *)viewControllerToCommit { 
    return; 
} 
@end 
Các vấn đề liên quan