使用 UIImagePickerController 访问照片库后崩溃
crash after accessing photo library using UIImagePickerController
我在点击按钮时无法访问照片库。就像往常一样,我问它是否可以访问。下面是我的代码
@IBAction func photoLibraryButtonTapped(sender: UIButton) {
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
imagePicker.allowsEditing = true
self.presentViewController(imagePicker, animated: true, completion: nil)
}
}
这是 Xcode 所说的:
2016-08-08 23:05:11.209 Auyrma[1799:20237892] -[UIViewController photoLibraryButtonTapped:]: unrecognized selector sent to instance 0x7fd3e9d39ed0
2016-08-08 23:05:11.214 Auyrma[1799:20237892] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController photoLibraryButtonTapped:]: unrecognized selector sent to instance 0x7fd3e9d39ed0'
*** First throw call stack:
(
0 CoreFoundation 0x0000000113fdcd85 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000113a50deb objc_exception_throw + 48
2 CoreFoundation 0x0000000113fe5d3d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x0000000113f2bcfa ___forwarding___ + 970
4 CoreFoundation 0x0000000113f2b8a8 _CF_forwarding_prep_0 + 120
5 UIKit 0x00000001124d6a8d -[UIApplication sendAction:to:from:forEvent:] + 92
6 UIKit 0x0000000112649e67 -[UIControl sendAction:to:forEvent:] + 67
7 UIKit 0x000000011264a143 -[UIControl _sendActionsForEvents:withEvent:] + 327
8 UIKit 0x0000000112649263 -[UIControl touchesEnded:withEvent:] + 601
9 UIKit 0x000000011254999f -[UIWindow _sendTouchesForEvent:] + 835
10 UIKit 0x000000011254a6d4 -[UIWindow sendEvent:] + 865
11 UIKit 0x00000001124f5dc6 -[UIApplication sendEvent:] + 263
12 UIKit 0x00000001124cf553 _UIApplicationHandleEventQueue + 6660
13 CoreFoundation 0x0000000113f02301 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
14 CoreFoundation 0x0000000113ef822c __CFRunLoopDoSources0 + 556
15 CoreFoundation 0x0000000113ef76e3 __CFRunLoopRun + 867
16 CoreFoundation 0x0000000113ef70f8 CFRunLoopRunSpecific + 488
17 GraphicsServices 0x00000001164bcad2 GSEventRunModal + 161
18 UIKit 0x00000001124d4f09 UIApplicationMain + 171
19 Auyrma 0x000000010e1c2d82 main + 114
20 libdyld.dylib 0x0000000114e8492d start + 1
21 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
我这样解决了我的问题:
- 打开实用程序
- 打开身份检查器
- 再次提供 class 名称(但它已经存在)
这似乎是 Xcode...
的错误
1.Please 检查你的视图控制器和故事板文件的目标应该在同一个目标中。
2.select 你的 xib 并删除映射到该故事板的 class 并将其映射回去并在粘贴你的 class 后按回车键你的笔尖名称保持相同以进行测试。
3.If 此按钮正在从自定义视图加载到视图控制器,需要检查自定义视图是否已添加到正确的目标并再次使用 ibaction 重新映射内部修饰。
这是我通过查看您的对话得出的结论。
我在点击按钮时无法访问照片库。就像往常一样,我问它是否可以访问。下面是我的代码
@IBAction func photoLibraryButtonTapped(sender: UIButton) {
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
imagePicker.allowsEditing = true
self.presentViewController(imagePicker, animated: true, completion: nil)
}
}
这是 Xcode 所说的:
2016-08-08 23:05:11.209 Auyrma[1799:20237892] -[UIViewController photoLibraryButtonTapped:]: unrecognized selector sent to instance 0x7fd3e9d39ed0
2016-08-08 23:05:11.214 Auyrma[1799:20237892] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController photoLibraryButtonTapped:]: unrecognized selector sent to instance 0x7fd3e9d39ed0'
*** First throw call stack:
(
0 CoreFoundation 0x0000000113fdcd85 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000113a50deb objc_exception_throw + 48
2 CoreFoundation 0x0000000113fe5d3d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x0000000113f2bcfa ___forwarding___ + 970
4 CoreFoundation 0x0000000113f2b8a8 _CF_forwarding_prep_0 + 120
5 UIKit 0x00000001124d6a8d -[UIApplication sendAction:to:from:forEvent:] + 92
6 UIKit 0x0000000112649e67 -[UIControl sendAction:to:forEvent:] + 67
7 UIKit 0x000000011264a143 -[UIControl _sendActionsForEvents:withEvent:] + 327
8 UIKit 0x0000000112649263 -[UIControl touchesEnded:withEvent:] + 601
9 UIKit 0x000000011254999f -[UIWindow _sendTouchesForEvent:] + 835
10 UIKit 0x000000011254a6d4 -[UIWindow sendEvent:] + 865
11 UIKit 0x00000001124f5dc6 -[UIApplication sendEvent:] + 263
12 UIKit 0x00000001124cf553 _UIApplicationHandleEventQueue + 6660
13 CoreFoundation 0x0000000113f02301 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
14 CoreFoundation 0x0000000113ef822c __CFRunLoopDoSources0 + 556
15 CoreFoundation 0x0000000113ef76e3 __CFRunLoopRun + 867
16 CoreFoundation 0x0000000113ef70f8 CFRunLoopRunSpecific + 488
17 GraphicsServices 0x00000001164bcad2 GSEventRunModal + 161
18 UIKit 0x00000001124d4f09 UIApplicationMain + 171
19 Auyrma 0x000000010e1c2d82 main + 114
20 libdyld.dylib 0x0000000114e8492d start + 1
21 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
我这样解决了我的问题:
- 打开实用程序
- 打开身份检查器
- 再次提供 class 名称(但它已经存在)
这似乎是 Xcode...
的错误1.Please 检查你的视图控制器和故事板文件的目标应该在同一个目标中。 2.select 你的 xib 并删除映射到该故事板的 class 并将其映射回去并在粘贴你的 class 后按回车键你的笔尖名称保持相同以进行测试。 3.If 此按钮正在从自定义视图加载到视图控制器,需要检查自定义视图是否已添加到正确的目标并再次使用 ibaction 重新映射内部修饰。
这是我通过查看您的对话得出的结论。