大佬教程收集整理的这篇文章主要介绍了objective-c – 使用MFMailComposeViewController时Monotouch iOS 6崩溃,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
*** Assertion failure in NSDictionary *_UIRecordArgumentOfInvocationATindex(NSInvocation *,NSUInteger,BOOL)(),/sourceCache/UIKit/UIKit-2372/UIAppearance.m:1118
这是代码:
@H_359_7@mFMailComposeViewController _mail; public void SendFeedBACkMail (String email_subject,String email_message_body,String[] email_recipients) { if (MFMailComposeViewController.CanSendMail) { _mail = new MFMailComposeViewController (); _mail.SetSubject (email_subject); _mail.SetToRecipients (email_recipients); _mail.SetmessageBody (email_message_body + "\n",falsE); _mail.Finished += HandleMailFinished; root_controller.PresentViewController(_mail,true,null); } else { //handle not being able to send mail UIAlertView alert = new UIAlertView ("Mail Alert","Error: check your eMail configuration",null,"OK",null); alert.Show (); } }
模拟器上的本机堆栈跟踪:
Native stacktrace: 0 MyAppProject 0x0007ba5c mono_handle_native_sigsegv + 284 1 MyAppProject 0x00004a62 mono_sigsegv_signal_handler + 178 2 libsystem_c.dylib 0x93ad486b _sigtramp + 43 3 ??? 0xffffffff 0x0 + 4294967295 4 MyAppProject 0x0014e8be mono_runtime_invoke + 126 5 MyAppProject 0x001ec80f monotouch_exception_handler + 63 6 CoreFoundation 0x020e0318 __handleUncaughtException + 728 7 libobjc.A.dylib 0x0228d0b9 _ZL15_objc_terminatev + 86 8 libstdc++.6.dylib 0x0289e652 _ZSt9terminatev + 21 9 libobjc.A.dylib 0x0228d039 _destroyAltHandlerList + 0 10 libdispatch.dylib 0x0299d027 _dispatch_client_callout + 33 11 libdispatch.dylib 0x0298cd5f _dispatch_barrier_sync_f_invoke + 58 12 libdispatch.dylib 0x0298caa3 dispatch_barrier_sync_f + 108 13 libdispatch.dylib 0x0298ce5e dispatch_sync + 45 14 UIKit 0x00f7ffad __76-[_UIRemoteViewControllerConnectionrequest _connectToViewControllerOperator]_block_invoke_0 + 105 15 UIKit 0x00f8be46 __block_global_0 + 54 16 libdispatch.dylib 0x0299d014 _dispatch_client_callout + 14 17 libdispatch.dylib 0x0298f09f dispatch_once_f + 57 18 libdispatch.dylib 0x0298f061 dispatch_once + 31 19 UIKit 0x00f8be0a __73-[_UIViewserviceSessionEndpoint connectToDeputyOfType:connectionHandler:]_block_invoke_0 + 105 20 UIKit 0x00f8c002 __73-[_UIViewserviceSessionEndpoint connectToDeputyOfType:connectionHandler:]_block_invoke_040 + 25 21 UIKit 0x00fe94e9 __block_global_0 + 32 22 libdispatch.dylib 0x0298b53f _dispatch_call_block_and_release + 15 23 libdispatch.dylib 0x0299d014 _dispatch_client_callout + 14 24 libdispatch.dylib 0x0298d418 _dispatch_queue_drain + 239 25 libdispatch.dylib 0x0298d2a6 _dispatch_queue_invoke + 59 26 libdispatch.dylib 0x0298e280 _dispatch_root_queue_drain + 231 27 libdispatch.dylib 0x0298e450 _dispatch_worker_thread2 + 39 28 libsystem_c.dylib 0x93aeae12 _pthread_wqthread + 441 29 libsystem_c.dylib 0x93ad2cca start_wqthread + 30
同样在模拟器上,应用程序会挂起一段时间,然后在调试器上抛出异常并崩溃:
@H_359_7@mono.Debugger.soft.VMDisconnectedException: Exception of type 'Mono.Debugger.soft.VMDisconnectedException' was thrown. at Mono.Debugger.soft.Connection.SendReceive (CommandSet command_set,Int32 command,Mono.Debugger.soft.PacketWriter packet) [0x00117] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/contrib/Mono.Debugger.soft/Mono.Debugger.soft/Connection.cs:1420 at Mono.Debugger.soft.Connection.Type_GetCustomAttributes (Int64 id,Int64 attr_type_id,Boolean inherit) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/contrib/Mono.Debugger.soft/Mono.Debugger.soft/Connection.cs:1986 at Mono.Debugger.soft.TypeMirror.GetCAttrs (Mono.Debugger.soft.TypeMirror type,Boolean inherit) [0x0003d] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/contrib/Mono.Debugger.soft/Mono.Debugger.soft/TypeMirror.cs:679 at Mono.Debugger.soft.TypeMirror.GetCustomAttributes (Boolean inherit) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/contrib/Mono.Debugger.soft/Mono.Debugger.soft/TypeMirror.cs:664 at Mono.Debugging.soft.softDebuggerAdaptor.onGetTypeDisplayData (Mono.Debugging.Evaluation.EvaluationContext gctx,System.object typE) [0x0001e] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/src/addins/MonoDevelop.Debugger.soft/Mono.Debugging.soft/SoftDebuggerAdaptor.cs:1066 Application Terminated Mono.Debugger.soft.VMDisconnectedException: Exception of type 'Mono.Debugger.soft.VMDisconnectedException' was thrown. at Mono.Debugger.soft.Connection.SendReceive (CommandSet command_set,Mono.Debugger.soft.PacketWriter packet) [0x0013f] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/contrib/Mono.Debugger.soft/Mono.Debugger.soft/Connection.cs:1425 at Mono.Debugger.soft.Connection.Type_getmethodsByNameFlags (Int64 id,System.String name,Int32 flags,Boolean ignoreCasE) [0x00016] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/contrib/Mono.Debugger.soft/Mono.Debugger.soft/Connection.cs:2002 at Mono.Debugger.soft.TypeMirror.getmethodsByNameFlags (System.String name,BindingFlags flags,Boolean ignoreCasE) [0x0001c] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/contrib/Mono.Debugger.soft/Mono.Debugger.soft/TypeMirror.cs:691 at Mono.Debugging.soft.softDebuggerAdaptor.overloadResolve (Mono.Debugging.soft.softEvaluationContext ctx,System.String methodName,Mono.Debugger.soft.TypeMirror type,Mono.Debugger.soft.TypeMirror[] argtypes,Boolean allowInstance,Boolean allowStatic,Boolean throwIfNotFound) [0x00073] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/src/addins/MonoDevelop.Debugger.soft/Mono.Debugging.soft/SoftDebuggerAdaptor.cs:1231 at Mono.Debugging.soft.softDebuggerAdaptor.CallToString (Mono.Debugging.Evaluation.EvaluationContext ctx,System.object obj) [0x00107] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/src/addins/MonoDevelop.Debugger.soft/Mono.Debugging.soft/SoftDebuggerAdaptor.cs:91 at Mono.Debugging.Evaluation.objectValueAdaptor.TargetObjectToObject (Mono.Debugging.Evaluation.EvaluationContext ctx,System.object obj) [0x00349] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/src/core/Mono.Debugging/Mono.Debugging.Evaluation/ObjectValueAdaptor.cs:980 at Mono.Debugging.soft.softDebuggerAdaptor.TargetObjectToObject (Mono.Debugging.Evaluation.EvaluationContext gctx,System.object obj) [0x001a5] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/src/addins/MonoDevelop.Debugger.soft/Mono.Debugging.soft/SoftDebuggerAdaptor.cs:1400 at Mono.Debugging.Evaluation.ExpressionEvaluator.TargetObjectToExpression (Mono.Debugging.Evaluation.EvaluationContext ctx,System.object obj) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/src/core/Mono.Debugging/Mono.Debugging.Evaluation/ExpressionEvaluator.cs:83 at Mono.Debugging.Evaluation.objectValueAdaptor.CreateObjectValueImpl (Mono.Debugging.Evaluation.EvaluationContext ctx,IObjectValuesource source,ObjectPath path,System.object obj,ObjectValueFlags flags) [0x000f5] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/src/core/Mono.Debugging/Mono.Debugging.Evaluation/ObjectValueAdaptor.cs:385 at Mono.Debugging.Evaluation.objectValueAdaptor.CreateObjectValue (Mono.Debugging.Evaluation.EvaluationContext ctx,ObjectValueFlags flags) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/ea010826/source/monodevelop/main/src/core/Mono.Debugging/Mono.Debugging.Evaluation/ObjectValueAdaptor.cs:93
设备上的本机堆栈跟踪:
0 MyAppProject 0x01b39e85 mono_handle_native_sigsegv + 244 1 MyAppProject 0x01afe3cf mono_sigsegv_signal_handler + 130 2 libsystem_c.dylib 0x3aaa8e93 _sigtramp + 42 3 MyAppProject 0x01b92a9d mono_domain_get + 20 4 MyAppProject 0x01b5d53b mono_runtime_invoke + 90 5 MyAppProject 0x01bbd8c0 monotouch_exception_handler + 72 6 CoreFoundation 0x36cee57f <redacted> + 614 7 libobjc.A.dylib 0x34ffea65 <redacted> + 128 8 libc++abi.dylib 0x33e4807b <redacted> + 78 9 libc++abi.dylib 0x33e48114 <redacted> + 19 10 libc++abi.dylib 0x33e49513 __cxa_throw + 122 11 libobjc.A.dylib 0x34ffe9bf objc_exception_throw + 94 12 CoreFoundation 0x36cee15d <redacted> + 0 13 Foundation 0x3477030b <redacted> + 86 14 UIKit 0x3834a925 <redacted> + 1844 15 UIKit 0x38349a7b <redacted> + 634 16 CoreFoundation 0x36ceb62f <redacted> + 714 17 UIKit 0x383497f5 <redacted> + 136 18 UIKit 0x384275e5 <redacted> + 60 19 UIKit 0x383b5cd7 <redacted> + 206 20 UIKit 0x383b5b6d <redacted> + 264 21 libdispatch.dylib 0x359e29f7 <redacted> + 30 22 UIKit 0x383b5a61 <redacted> + 92 23 UIKit 0x383bf0d5 <redacted> + 32 24 libdispatch.dylib 0x359e43f7 <redacted> + 42 25 UIKit 0x383bf0b1 <redacted> + 88 26 libdispatch.dylib 0x359df11f <redacted> + 10 27 libdispatch.dylib 0x359e2ecf <redacted> + 142 28 libdispatch.dylib 0x359e2dc1 <redacted> + 40 29 libdispatch.dylib 0x359e391d <redacted> + 184 30 libdispatch.dylib 0x359e3ac1 <redacted> + 84 31 libsystem_c.dylib 0x3aa76a11 <redacted> + 360 32 libsystem_c.dylib 0x3aa768a4 start_wqthread + 8
任何帮助表示赞赏.
谢谢.
更新:
不幸的是,这里似乎有多个错误.
在我的情况下,邮件编辑器的崩溃不是由外观或
属性字符串.我测试了所有可能的连接,但我的代码崩溃了.
这是In App Purchase代码.
我正在使用Xamarin网站上的In App Purchase示例中的代码.
如果我使用SKProductrequest类只注释这一行:
@H_378_5@mFMailComposer打开并完美运行!所以我在最初的Xamarin示例项目中测试了MFMailComposer:
http://docs.xamarin.com/ios/tutorials/In-App_Purchasing
http://docs.xamarin.com/@api/deki/files/3300/=InAppPurchaseSample.zip
我刚刚将此代码添加到NonConsumableViewController类:
/// <sumMary> /// TEST MAIL COMPOSER BUG - START /// </sumMary> MFMailComposeViewController _mail; void HandleFinished (object sender,MFComposeResultEventArgs E) { } public void TestMailComposer () { var button = UIButton.FromType(UIButtonType.RoundedRect); button.Frame = new RectangleF(20f,0f,280f,40f); button.TouchUpInside += (object sender,EventArgs E) => { if (MFMailComposeViewController.CanSendMail) { _mail = new MFMailComposeViewController (); _mail.SetSubject ("The Subject"); _mail.SetToRecipients (new [] {"the@recipient.com"}); _mail.SetmessageBody ("Some text to e-mail stuff too" + "\n",falsE); _mail.Finished += HandleFinished; this.PresentViewController(_mail,null); } else { //handle not being able to send mail UIAlertView alert = new UIAlertView ("Mail Alert","Error: check your eMail configuration",null); alert.Show (); } }; button.Settitle("Button",UIControlState.Normal); View.AddSubview(button); } /// /// TEST MAIL COMPOSER BUG - END ///
当我按下按钮时,它会挂起.
更新:
我尝试了6.0.2修补程序(抱歉等待,但我不得不将我的代码恢复到原始状态).外观错误现在消失了.
SKProductrequest类的问题似乎不同而且不太紧急.它没有挂起,只是推迟了MF Mail作曲家的开放一段时间.但这似乎是一个无关的错误.
cancelAttributes = new UITextAttributes(); //cancelAttributes.TextShadowOffset = new UIOffset(0,-1); cancelAttributes.TextShadowColor = UIColor.White.ColorWithAlpha(0.5f); cancelAttributes.TextColor = resources.CancelButtonDisabled; UIBarButtonItem.AppearanceWhenContainedIn(typeof(UISearchBar)).SettitleTextAttributes(cancelAttributes,UIControlState.Disabled);
以上是大佬教程为你收集整理的objective-c – 使用MFMailComposeViewController时Monotouch iOS 6崩溃全部内容,希望文章能够帮你解决objective-c – 使用MFMailComposeViewController时Monotouch iOS 6崩溃所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。