我在我的项目中添加ios默认共享工作表/ UIActivityViewController时遇到问题。它可以在模拟器上正常工作,但当它使用usb电缆或testflight在设备(iPhone)上运行时会崩溃。该错误消息我得到的是:UIActivityViewController在设备上呈现时崩溃
*终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因是: '* - [__ NSCFString rangeOfString:选项:范围:区域:]:无参数' ***第一掷调用堆栈: (0x182ddedb0 0x182443f80 0x182ddecf8 0x1836d2ac8 0x1928f90cc 0x1928f8394 0x187f3cc40 0x187f3c844 0x1888f5050 0x182cd6584 0x182ccd2ac 0x1888f4c9c 0x1888f5560 0x187f3cc40 0x187f3c844 0x1883b4bd8 0x18813cc78 0x187f3cc40 0x187f3c844 0x1882c4228 0x1882bd3b8 0x1882bee54 0x1882c1890 0x1880373cc 0x1001ae7b8 0x187f74be8 0x187f74b64 0x187f5c870 0x187f74454 0x187f2cc0c 0x187f6d610 0x187f6cc0c 0x187f3d04c 0x187f3b628 0x182d9509c 0x182d94b30 0x182d92830 0x182cbcc50 0x1845a4088 0x187fa6088 0x10013 7c88 0x18285a8b8) 的libC++ abi.dylib:与类型NSException
这里捕获的异常终止是我用
-(void)share {
NSString *item = @"test";
NSArray *items = @[item];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:nil];
[self presentViewController:activityVC animated:YES completion:nil];
}
代码它崩溃与 “presentViewController” 的路线。我确定activityVC不是零,如果我尝试呈现常规视图控制器,它不会崩溃。在崩溃之前,有stack trace。
我尝试了一个空的项目完全相同的代码,它工作在两个模拟器和设备这就是为什么我怀疑问题可能是与项目/构建设置
我试过你的代码。它在模拟器上正常工作。我想你在别的地方错误地传递了字符串。呃,代码的其他部分。 – user3182143
更多的堆栈跟踪在调试时会很有用。 –
感谢您的回复,我更新了完整的错误消息以及我的项目堆栈跟踪,并在崩溃前更新了我的问题。我也尝试将局部变量更改为私有属性,以防它们中的任何一个被过早释放。就像@ user3182143所说的,我相信它与代码的其他部分有关。但是在展示activityViewController时它只会在设备上崩溃,它在呈现其他VC时工作。我确定所有变量在被调用时仍然存在。我找不到在此过程中调用的任何其他代码部分 –