according to the Mono Documentation Library it seems that MonoTouch currently (3.2.5) doesn't support CoreMIDI framework (available in iOS 4.2, the version I'm working on).
Will CoreMIDI be supported in MonoTouch 4.0?
Thanks in advance!
It doesn't seem to be available yet. This is where I look to find bindings to Objective C libraries: https://github.com/mono/monotouch-bindings
The Mono guys are adding stuff there from time to time, last one was CorePlot, added about a week ago.
Related
Developping an MvvmCross application targeting Android and iOS (Xamarin/Mono) and Windows Store (because it's so easy/fast to debug compared to iOS/Android).
The Core of the app is PCL based.
Is it possible to use Async/Await in the Core library?
Xamarin mono supports Async/Await, and Windows Store supports it.
However, when selecting only Net4.5, Windows Store, Mono Android and MonoTouch as the PCL targets, SL4 and WP7.5 get automatically selected and Async/Await is not availlable anymore.
The latest I have is: TPL on PCL of mvvmcross
But PCL support from Xamarin has officially launched in the last week - so the latest I have is be out of date. Miguel has promised a blog post on the current status when he returns from Build.
Also, I have seen user comments like "I'm using asyncbridge and profile47 with heavily usage of async inside PCL. Works perfect on iOs and Android, with MvvmCross events it looks like a magic" from http://forums.xamarin.com/discussion/comment/18872/#Comment_18872 - would love to see this more fully blogged, explained, documented by those who have it working.
In my question about using .NET 4.0.3 in a Portable Class Library I spoke a little too soon: I got the PCL working on my Windows machine, but now I can't get it working on the Mac. If the library is set to use .NET 4.03, I get compiler errors in MonoDevelop, saying that the framework is not supported. So I'm stuck on PCL for .NET 4.0, which is annoying because I need some features from 4.0.3.
So, is there a way to target .NET 4.0.3 in MonoTouch/MonoDevelop on the mac?
MonoDevelop (up through 3.0.6) is/was hard-coded to only work with PCL Profile1 (I think it was Profile1, anyway). As a workaround, you can try changing over to Profile1 and building that.
On MacOS, MonoDevelop simply links with MonoTouch (or Mono4Android) system assemblies and ignores the PCL profile constraints (other than verifying that the profile is Profile1). If MonoTouch has the 4.0.3 APIs that you are trying to use, then things will build fine.
I wanted to convert a small test application from Windows .NET 4 to MonoTouch but I am missing System.IO.MemoryMappedFiles.
Then I tried it with a plain Mono console app and the namespace isn't there either.
I tried Mono 2.10 in combination with MonoDevelop 2.4.
Is it supposed to be there or not? I'm kind of confused, as .NET4 compatibility was announced with Mono, as far as I know.
Mono 2.10 has some support for memory mapped file. However it is not 100% complete (and Windows-specific things like security are not likely to be ever included) so YMMV.
You can browser what's available from the GIT repository:
https://github.com/mono/mono/tree/mono-2-10/mcs/class/System.Core/System.IO.MemoryMappedFiles
Since this is a .NET 4.0 feature you'll need to use the 'dmcs' compiler to get your code to compile (and also reference System.Core.dll where the types resides).
As for MonoTouch it provides a subset of Mono (originally based on the 2.1 profile from Silverlight and extra, even some 4.0, features). Currently (for MonoTouch 4.x) this does not include any type from System.IO.MemoryMappedFile.* namespace. Future versions will offer more .NET 4.0 features (if they are available from iOS).
Is it possible to reference a library such as the Google GData .NET client in a MonoTouch or MonoDroid app? It would make integration with Google's services much easier.
Thank you.
To get that library (or any library, really) to work against MonoTouch or Mono for Android you'd need to compile it against that profile. Out of the box the GData client won't compile against those profiles because it has some dependencies that aren't compatible. There's a post up here by Mike Bluestein that talks about getting it working with MonoTouch. The same approach should also apply to Mono for Android.
We've upgraded to MonoTouch 4.0 and the new MonoDevelop.
In order to get .NET 4.0 , do we need to enable a setting, or does MonoTouch automatically compile against the newest Mono ?
Everything has been working perfectly, iTunes has accepted all our apps, all without issue. We've released now nearly 70 apps made with MonoTouch and have thousands of users.
MonoTouch 4 requires that you have previously installed Mono shared runtime 2.10.1 in order to install it.
Once you have installed Mono runtime, MonoDevelop and of course ios 4.3 sdk now you can install monotouch 4, once installed you are now able to get Net 4 love by creating a new iphone solution :) (yes you dont have to modify any settings)
Hope this helps
Alex
As far as I can tell from MonoTouch's website ( http://monotouch.net/Releases/MonoTouch_4/MonoTouch_4.0.0 ), it says "Core Mono Runtime upgraded to Mono 2.10" so it looks like dmcs ( http://www.mono-project.com/Release_Notes_Mono_2.10 ) is included. I don't have MonoDevelop installed, but I might be able to help you out with my suggestion:
Look in Project -> Options -> Build -> General -> Runtime Version (I couldn't post more than 2 links since I'm a new user.)
I hope this answers your question.