gpt4 book ai didi

ios - UIImagePickerController 在其委托(delegate)不是 View Controller 时崩溃

转载 作者:行者123 更新时间:2023-11-29 02:17:53 24 4
gpt4 key购买 nike

我有一个应用程序,可以从多个 Controller 启动 UIImagePicker...为了正确执行此操作,我有一个类来表示工作流程,该实例是选择器的委托(delegate)。 .. 这样做会使应用程序完全崩溃。当我将委托(delegate)设置为 View Controller 时,就没有问题了......

这是我的代码:

@interface PATWorkflowNewPrescription () <UINavigationControllerDelegate, UIImagePickerControllerDelegate>

@end

@implementation PATWorkflowNewPrescription

- (instancetype) initWithViewController:(UIViewController *) aViewController {
self = [super init];

if (self) {
self.viewController = aViewController;
}

return self;
}

+ (void) addNewPrescriptionInViewController:(UIViewController *) aViewController {
[[[self alloc] initWithViewController:aViewController] run];
}

#pragma mark - Workflow

- (void) run {
[self choosePhoto:UIImagePickerControllerSourceTypeSavedPhotosAlbum];
}

- (void) choosePhoto:(UIImagePickerControllerSourceType) aSourceType {
if ([UIImagePickerController isSourceTypeAvailable:aSourceType]) {
UIImagePickerController *imagePickController = [[UIImagePickerController alloc] init];
imagePickController.modalPresentationStyle = UIModalPresentationFormSheet;
imagePickController.sourceType = aSourceType;
imagePickController.delegate = self;
imagePickController.allowsEditing = YES;
[self.viewController presentViewController:imagePickController animated:YES completion:nil];
}
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[picker dismissViewControllerAnimated:YES completion:nil];
}

@end

当我单击按钮时,代码如下:

- (IBAction)onNewPrescription:(id)sender {
[PATWorkflowNewPrescription addNewPrescriptionInViewController:self];
}

所以,如果有人有想法的话!!!因为我真的不希望 ViewController 成为委托(delegate)。

提前致谢。

顺便说一句,这是一个崩溃报告,它似乎有一些东西可以处理 UINavigationViewController,但是什么?:

Incident Identifier: 9C6A3384-E96F-4F9D-B485-75876AFDC5C9
CrashReporter Key: c8c2c5d6d8bffd901acbddd82bc34a59f58d75d9
Hardware Model: iPhone7,1
Process: XXXXXXX [2129]
Path: /private/var/mobile/Containers/Bundle/Application/497E6E71-B256-43A2-9A8C-10D41E0A5E9B/XXX.app/XXX
Identifier: com.XXXXXXX
Version: 3 (0.2)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]

Date/Time: 2015-02-16 11:44:13.456 +0100
Launch Time: 2015-02-16 11:44:10.799 +0100
OS Version: iOS 8.1.3 (12B466)
Report Version: 105

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000010
Triggered by Thread: 0

Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x00000001936b7bd0 objc_msgSend + 16
1 UIKit 0x00000001877cfce0 -[UINavigationController viewDidAppear:] + 308
2 UIKit 0x0000000187718188 -[UIViewController _setViewAppearState:isAnimating:] + 588
3 UIKit 0x00000001877186f8 -[UIViewController _endAppearanceTransition:] + 340
4 UIKit 0x00000001879fc1c0 -[UIPresentationController transitionDidFinish:] + 804
5 UIKit 0x0000000187df272c -[_UIFullscreenPresentationController transitionDidFinish:] + 80
6 UIKit 0x00000001879fe8b0 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke_2 + 164
7 UIKit 0x0000000187822ee0 -[_UIViewControllerTransitionContext completeTransition:] + 128
8 UIKit 0x000000018782270c -[UITransitionView _didCompleteTransition:] + 1072
9 UIKit 0x00000001877382ec -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 184
10 UIKit 0x00000001877381f4 -[UIViewAnimationState animationDidStop:finished:] + 100
11 QuartzCore 0x000000018705cf60 CA::Layer::run_animation_callbacks(void*) + 292
12 libdispatch.dylib 0x0000000193ce9368 _dispatch_client_callout + 12
13 libdispatch.dylib 0x0000000193ced97c _dispatch_main_queue_callback_4CF + 928
14 CoreFoundation 0x0000000182f09fa0 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 8
15 CoreFoundation 0x0000000182f08048 __CFRunLoopRun + 1488
16 CoreFoundation 0x0000000182e350a0 CFRunLoopRunSpecific + 392
17 GraphicsServices 0x000000018bfcf5a0 GSEventRunModal + 164
18 UIKit 0x0000000187766aa0 UIApplicationMain + 1484
19 XXXXXXX 0x0000000100068e64 main (main.m:14)
20 libdyld.dylib 0x0000000193d12a04 start + 0

Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0 libsystem_kernel.dylib 0x0000000193e10c94 kevent64 + 8
1 libdispatch.dylib 0x0000000193cf897c _dispatch_mgr_invoke + 272
2 libdispatch.dylib 0x0000000193ceb3b0 _dispatch_mgr_thread + 48

Thread 2:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 3:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 4:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 5:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 6 name: AFNetworking
Thread 6:
0 libsystem_kernel.dylib 0x0000000193e10e7c mach_msg_trap + 8
1 libsystem_kernel.dylib 0x0000000193e10cf4 mach_msg + 68
2 CoreFoundation 0x0000000182f09ecc __CFRunLoopServiceMachPort + 196
3 CoreFoundation 0x0000000182f07e20 __CFRunLoopRun + 936
4 CoreFoundation 0x0000000182e350a0 CFRunLoopRunSpecific + 392
5 Foundation 0x0000000183d3d7a0 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 312
6 Foundation 0x0000000183d97e94 -[NSRunLoop(NSRunLoop) run] + 92
7 XXXXXXX 0x000000010003d984 +[AFURLConnectionOperation networkRequestThreadEntryPoint:] (AFURLConnectionOperation.m:169)
8 Foundation 0x0000000183e25ba8 __NSThread__main__ + 1068
9 libsystem_pthread.dylib 0x0000000193ec7e7c _pthread_body + 160
10 libsystem_pthread.dylib 0x0000000193ec7dd8 _pthread_start + 156
11 libsystem_pthread.dylib 0x0000000193ec4fac thread_start + 0

Thread 7 name: com.apple.NSURLConnectionLoader
Thread 7:
0 libsystem_kernel.dylib 0x0000000193e10e7c mach_msg_trap + 8
1 libsystem_kernel.dylib 0x0000000193e10cf4 mach_msg + 68
2 CoreFoundation 0x0000000182f09ecc __CFRunLoopServiceMachPort + 196
3 CoreFoundation 0x0000000182f07e20 __CFRunLoopRun + 936
4 CoreFoundation 0x0000000182e350a0 CFRunLoopRunSpecific + 392
5 CFNetwork 0x000000018293a4e4 +[NSURLConnection(Loader) _resourceLoadLoop:] + 436
6 Foundation 0x0000000183e25ba8 __NSThread__main__ + 1068
7 libsystem_pthread.dylib 0x0000000193ec7e7c _pthread_body + 160
8 libsystem_pthread.dylib 0x0000000193ec7dd8 _pthread_start + 156
9 libsystem_pthread.dylib 0x0000000193ec4fac thread_start + 0

Thread 8 name: com.apple.CFSocket.private
Thread 8:
0 libsystem_kernel.dylib 0x0000000193e2b498 __select + 8
1 CoreFoundation 0x0000000182f0f8c4 __CFSocketManager + 656
2 libsystem_pthread.dylib 0x0000000193ec7e7c _pthread_body + 160
3 libsystem_pthread.dylib 0x0000000193ec7dd8 _pthread_start + 156
4 libsystem_pthread.dylib 0x0000000193ec4fac thread_start + 0

Thread 9:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 10:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 11:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 12:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 13:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 14:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 15:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 16:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 17:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 18:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 19:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 20:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 21:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 22:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 23:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 24:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 25:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 26:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 27:
0 libsystem_kernel.dylib 0x0000000193e2bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000193ec5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000193ec4fa4 start_wqthread + 0

Thread 28:
0 libsystem_kernel.dylib 0x0000000193e10ed0 semaphore_timedwait_trap + 8
1 libdispatch.dylib 0x0000000193cf69f4 _dispatch_semaphore_wait_slow + 164
2 libdispatch.dylib 0x0000000193cf4ee0 _dispatch_worker_thread + 128
3 libsystem_pthread.dylib 0x0000000193ec7e7c _pthread_body + 160
4 libsystem_pthread.dylib 0x0000000193ec7dd8 _pthread_start + 156
5 libsystem_pthread.dylib 0x0000000193ec4fac thread_start + 0

最佳答案

+ (void) addNewPrescriptionInViewController:(UIViewController *) aViewController {
[[[self alloc] initWithViewController:aViewController] run];
}

好的,ARC 开启了吗?您的 PATWorkflowNewPrescription 似乎已启动,然后立即发布。你能展示你的 initWithViewController 方法吗?

关于ios - UIImagePickerController 在其委托(delegate)不是 View Controller 时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28542602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com