Tag: xamarin.ios

评估iOS UIWebView中的JavaScript时出现“SyntaxError:Unexpected EOF”

在尝试将一些JSON传递给UIWebView时,我不断收到JavaScript错误: SyntaxError:意外的EOF 在window.onerror没有行号或文件名可用,但我已经检查了所有引用的文件,并没有问题。 我正在使用MonoTouch EvaluateJavaScript方法,它相当于ObjC stringByEvaluatingJavaScriptFromString: :: webView.EvaluateJavascript( "Viewer.init($('#page'), " + json.ToString() + ");" ); 它在“简单的”JSONinput上工作得很好,但是在较大的对象上会中断。 有什么可能出错?

iPhone:两个RootViewController之间的淡入淡出过渡

Obj-C或MonoTouch C#答案很好。 最初的UIWindow的RootViewController是一个简单的login屏幕。 window.RootViewController = loginScreen; login后,我将根设置为主应用程序 window.RootViewController = theAppScreen; 如何在这个实例中的两个RootViewController之间进行淡入淡出?

Monotouch全局例外处理

我正在野外出现一个令人讨厌的虫子,我不能把手指放在上面。 有没有办法有一个全球尝试/捕捉块,或者一种方式来处理任何exception,MonoTouch中无人。 我可以只包装UIApplication.Main(args)在尝试捕获? 在捕获exception之后,我想显示一个UIAlertView来显示结果。 任何帮助?

iOS上的SQLite – SQL从一个文件复制到另一个文件

我的iOS应用程序中有2个数据库文件: 原始数据库(只读,保存在我的应用程序的主目录中) 用户的数据库(保存在用户的“ Documents文件夹中) 我需要运行一个SQL查询从原始数据库复制到用户的,如下所示: INSERT INTO UserDatabase.MyTable SELECT * FROM OriginalDatabase.MyTable; 这是从iOS上运行的SQLite吗? 问题是两个数据库位于不同的文件夹中。 我想避免在代码(C#)中做这个工作,这是明显的方法,只是慢得多。 我的应用程序是用C#/ MonoTouch编写的,但这可能是不相关的。

为什么iOS SDK和iOS操作系统版本互相影响? 或者:什么是iOS SDK?

编辑: 下面的H2CO3答案让我快乐。 但是它并没有解释一件事情:为什么在构build应用程序对SDK6(UIPageViewController需要一个子控制器,然后将其添加到父控制器中)之前得到一个运行时exception,而不是构build对SDK5时? Rolf的答案解释了发生了什么事情:设备知道应用程序所构build的SDK,其行为有所不同,以确保最大的兼容性。 在与iOS SDK版本,MonoTouch版本和不同的iOS版本战斗时,我开始想知道: 什么是iOS SDK ? 我的意思是,我安装Xcode 4.4,我得到iOS SDK 5.如果我安装Xcode 4.5,我得到的iOS SDK 6.到目前为止没有问题。 现在假设我构build了一个targets iOS 5的应用程序,并且不not use any iOS 6 specific东西。 我只是using iOS SDK 6构build这个应用程序。 然后我构buildsame app但使用iOS SDK 5 。 然后我在iOS 6设备上运行这两个版本的应用程序。 为什么他们的行为有所不同? 有一些小的差异,例如,如果在将页面视图控制器作为子控件添加到父控制器之前未设置子控制器,则UIPageViewController会引发exception。 据我了解,callback,function和一切都来自iOS操作系统,而不是从SDK。 但是两种情况下的操作系统是一样的。 我完全理解,如果我想要使用iOS 6特定function,则需要使用iOS SDK 6,因为SDK 5中不存在UICollectionView。但是,此视图的UI代码显然未包含在我的应用程序中,否则它也可以在iOS5上运行。 所以收集视图来自操作系统提供的共享库。 最重要的是MonoTouch。 如果我们假设每个MonoTouch版本只是绑定的扩展而没有修复任何错误,那么应该使用什么MT版本。 我的问题的简短回顾将是:如何iOS版本,iOS SDK版本,MonoTouch版本和应用程序的目标版本一起玩?

如何在MonoTouch应用程序中捕获iOS崩溃

我们已经logging了在我们的iPad MonoTouch应用程序中发生的任何.Net Frameworkexception,并可以将这些exception返回给我们的支持部门来帮助分析和解决问题。 但是,如果应用程序由于iOS错误(即sigsev)而崩溃,我们不确定如何捕获这些信息,或告诉我们非常不成熟的用户如何获取并提供给我们。 任何人都可以提供任何指导呢?

文档或博客:在应用程序购买和Monotouch

我正在寻找如何创build应用程序购买的开发部分:对于iTu​​nes的configuration,这是没问题的。 但是在MonoTouch中没有find关于做开发部分的任何资源。 任何想法请

录制video/audio时播放系统声音

当我开始录制video时,我正尝试播放苹果所需的“哔哔”声。 我已经通过SO和其他来源发现,当audioinput没有进行某些configuration时,您将无法播放声音。 这是我的configuration方法的尝试: private void SetupAudio() { beepSound = AssetBank.GetSystemSoundWav("video_record", "video_beep"); AudioSession.Initialize(); AudioSession.Interrupted += delegate { Console.WriteLine("Interrupted handler"); }; AudioSession.Category = AudioSessionCategory.PlayAndRecord; AudioSession.OverrideCategoryMixWithOthers = true; NSError err; AVAudioSession.SharedInstance().SetActive(true, out err); } 这里是我设置logging会话的代码: public void SetupVideoCaptureSession(AVCaptureDevicePosition position) { // Setup devices foreach (var device in AVCaptureDevice.Devices) { if (device.HasMediaType(AVMediaType.Video)) { if (device.Position == AVCaptureDevicePosition.Front) { frontCam […]

MonoTouch.Dialog:如何设置EntryElement的字符数限制

我无法find如何限制EntryElement上的字符EntryElement

将ZeroMQ交叉编译为ARM以用于MonoTouch iPhone应用程序configuration设置

我正在尝试在使用MonoTouch的C#开发的iPhone应用程序中使用ZeroMQ库。 我已经解决了几乎所有的问题,但最后的障碍已经落空了。 我正在使用ZeroMQ 2.1.10和C#CLR绑定/包装器,并在Mac OS X 10.6.8中进行开发。 这是迄今为止的故事: 我首先尝试在简单的Mono C#控制台应用程序中使用ZeroMq。 我用./configure构build了ZeroMQ,然后make和sudo make install ,安装共享库/usr/local/lib/libzmq.dylib 。 ZeroMq C#绑定clrzmq.dll是一个包装,通过C Api [DllImport]调用使用“核心”ZeroMqfunction。 testing应用程序没有工作,我认为是标准的ZeroMQ ./configure产生一个64位的输出,单声道只有32位。 然后我重build了ZeroMQ ./configure CFLAGS="-O -arch i386" CXXFLAGS="-O -arch i386" LDFLAGS="-arch i386" –disable-dependency-tracking 我简单的C#ZeroMq应用程序然后正常工作。 接下来,我尝试从iPhone模拟器中的iPhone应用程序中使用ZeroMq。 我发现iPhone只允许静态链接库(不允许dynamic库)。 这是通过改变所有的C#封装调用来实现的 [DllImport("__Internal", CallingConvention = CallingConvention.Cdecl)] 并直接在MonoTouch项目中包含libzmq.a ,并设置额外的mtouch参数 -cxx -gcc_flags "-L${ProjectDir} -lzmq -force_load ${ProjectDir}/libzmq.a" 以确保ZeroMQ库包含在iPhone应用程序中。 当在iPhone模拟器中运行应用程序时,它崩溃了,我跟踪到从zmq_init()调用socketpair 。 我终于追溯到了ZeroMQ库,它是针对我的构build机器的MacOS头文件和库而build立的,而不是针对iPhone SDK。 这被修复了 ./configure […]