首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NSInvalidArgumentException。UIPasteboard setString

NSInvalidArgumentException。UIPasteboard setString
EN

Stack Overflow用户
提问于 2014-07-24 13:12:58
回答 1查看 1.7K关注 0票数 2

通常应用程序工作得很好,但我在Crashlytics中收到了一些问题。每周发生1-2次。对于2k-3k用户。应用程序在iOS 7和更高版本上工作。报告:致命异常: NSInvalidArgumentException

代码语言:javascript
运行
复制
-[UIPasteboard setString:]: Argument is not an object of type NSString [(null)]

这里是应用程序崩溃的线程堆栈:

代码语言:javascript
运行
复制
 Thread : Crashed: com.apple.main-thread
 0  libsystem_kernel.dylib         0x38fae1f0 __pthread_kill + 8
 1  libsystem_pthread.dylib        0x390167b7 pthread_kill + 58
 2  libsystem_c.dylib              0x38f5eff9 abort + 76
 3  libc++abi.dylib                0x383ad98f abort_message + 74
 4  libc++abi.dylib                0x383c66e7 default_terminate_handler() + 254
 5  libobjc.A.dylib                0x389f9f7d _objc_terminate() + 192
 6  APPNAME                       0x001f1495 CPPExceptionTerminate() (KSCrashSentry_CPPException.mm:193)
 7  libc++abi.dylib                0x383c41b3 std::__terminate(void (*)()) + 78
 8  libc++abi.dylib                0x383c3a09 __cxxabiv1::exception_cleanup_func(_Unwind_Reason_Code, _Unwind_Exception*)
 9  libobjc.A.dylib                0x389f9dbb objc_exception_throw + 250
 10 CoreFoundation                 0x2e25ee0d -[NSException initWithCoder:]
 11 UIKit                          0x30e3e0eb -[UIPasteboard(UIPasteboardDataExtensions) setString:] + 154
 12 APPNAME                       0x0011cfaf __33-[WebViewController moreActions:]_block_invoke_2 (WebViewController.m:424)
 13 UIKit                          0x30c74ceb __56-[UIActivityViewController _cleanupActivityWithSuccess:]_block_invoke + 54
 14 UIKit                          0x30ba87c9 -[UIWindowController transitionViewDidComplete:fromView:toView:removeFromView:] + 1880
 15 UIKit                          0x30ba7f9f __101-[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:animation:]_block_invoke293 + 170
 16 UIKit                          0x30ba7ecb -[_UIViewControllerTransitionContext completeTransition:] + 74
 17 UIKit                          0x30ba7db1 -[UITransitionView notifyDidCompleteTransition:] + 288
 18 UIKit                          0x30ba78c1 -[UITransitionView _didCompleteTransition:] + 944
 19 UIKit                          0x30ac83b7 -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 178
 20 UIKit                          0x30ac82cf -[UIViewAnimationState animationDidStop:finished:] + 66
 21 QuartzCore                     0x30712e0b CA::Layer::run_animation_callbacks(void*) + 234
 22 libdispatch.dylib              0x38ee2d3f _dispatch_client_callout + 22
 23 libdispatch.dylib              0x38ee56c3 _dispatch_main_queue_callback_4CF + 278
 24 CoreFoundation                 0x2e229641 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 8
 25 CoreFoundation                 0x2e227f0d __CFRunLoopRun + 1308
 26 CoreFoundation                 0x2e192729 CFRunLoopRunSpecific + 524
 27 CoreFoundation                 0x2e19250b CFRunLoopRunInMode + 106
 28 GraphicsServices               0x331016d3 GSEventRunModal + 138
 29 UIKit                          0x30af3871 UIApplicationMain + 1136
 30 APPNAME                       0x000b9287 main (main.m:16)

应用程序在WebViewController中加入moreActions函数。

代码语言:javascript
运行
复制
12 APPNAME    0x0011cfaf __33-[WebViewController moreActions:]_block_invoke_2 (WebViewController.m:424)

此函数显示UIActivityViewController和一个自定义操作复制链接到网页.

代码语言:javascript
运行
复制
 __weak WebViewController *weakSelf = self;
[activityViewController setCompletionHandler:^(NSString *activityType, BOOL completed) {
    WebViewController *strongSelf = weakSelf;
    if ([activityType isEqualToString:@"VK"]) {
        // actions
    } else if ([activityType isEqualToString:@"copyLink"]) {

        // HERE UIPasteboard!
        UIPasteboard *pb = [UIPasteboard generalPasteboard];
        [pb setString:[strongSelf.startUrl absoluteString]];

    }
}];
EN

回答 1

Stack Overflow用户

发布于 2014-11-13 12:53:24

确保[strongSelf.startUrl absoluteString]在将其设置为pasteboard字符串之前不返回nil。我很确定你的startUrl显然变成零了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24934729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档