I'd like to use MvvmCross with XS on a Mac, and running the beta channel (Xamarin.iOS 6.3 and Xamarin.Android 4.7). Is this currently possible at all? If so are there binaries available somewhere?
I am using the latest Xamarin.Android alpha, which among other things provide PCL support. However the Visual Studio plug-in does not allow for referencing PCL projects into Android project yet. In order to do this you need to manually edit the .csproj file or do it through Xamarin Studio.
You will need to recompile Mvx from source if you want it to work with the new PCL support. There are however some problems with Profile78 PCL's which result in Mvx Core projects not working, more about this in this thread and in this bugzilla report.
I didn't succeed to compile any PCL library, not only MvvmCross
(on Mono 3.0)
Related
In my particular case, I implemented a cross platform project in C++11 that uses CMake. I initially designed this project to work on PC (Windows, Unix), but now I realized that I can use it on mobile platforms too, without re-implementing the business logic on every platform. The project uses standard libraries: Boost, Poco, OpenSSL, Protobuf.
After a few searches I came to conclusion that this is not even an usual mode to put together native and managed code in Android.
Is it possible to add reference in a Gradle project in Android Studio to a native project that uses CMake?
Can NDK adopt the project in a simple manner if I compile everything in command line (assuming I don't use Android Studio)?
If it is possible, is it recommended at all?
Is it possible to add reference in a Gradle project in Android Studio to a native project that uses CMake?
Since Google announced Android Studio 2.2 that comes with cmake plugin, so it's possible to reference CMake project to android project.
Can NDK adopt the project in a simple manner if I compile everything in command line (assuming I don't use Android Studio)?
In my experience, i compile NDK in separate way and then link the static/shared library (.so file) to be used in android project. I used NDK while developing PDF Reader using mupdf here
Hope this helps.
it would be possible with android studio 2.2, mainly the android plugin for gradle makes it possible. you could look at some examples in:
https://github.com/googlesamples/android-ndk/tree/master-cmake
android studio directly reads-in your cmake scripts -- there is nothing like desktop systems that generate project files for their native IDEs ( Visual Studio or XCode ); so you might have to modify your existing cmake files to eventually make it to work for android studio.
as long as you build to the correct APK, command line or IDE does not matter too much. If you intend to ship source code, having your project ready with an IDE would be attractive.
Please see CMaker_Boost, build the Boost with the CMake at a configure time. Now it is tested on the Linux and Android, gcc and clang. This can be included to the gradle project in the Android Studio. I hope this helps.
We have a 4 year old MonoTouch application, now a Xamarin.iOS application. It has a tag in each project
<MtouchSdkVersion>3.0</MtouchSdkVersion>
In the list of warnings with the current Xamarin.iOS and Xcode 6.1.1, I see
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets: Warning: The iOS SDK version '3.0' is not installed. Using newer version '8.1' instead'. ({myProjectName})
I could manually update this tag or remove it. I do not see in the Xamarin Studio where to configure this on each project. Thanks much.
That should map to the Project options, Build, iOS Build, General, SDK version combobox.
If not found it could show you Default (not sure about the logic) but, beside Default it will only let you select the SDK that the presently configured Xcode provides (e.g. for Xcode 6.1 would see 8.1 for device builds).
note: it's possible it was left over to that value during the project's conversion to unified (which implies switching to msbuild).
When I try to add a portable class library in Visual Studio, it only gives me an option for "Xamarin.iOS (Classic)" and not "Xamarin.iOS". So when I try to add the project as a reference to my ios project, I'm unable to add a reference from a none classic ios app to a portable library.
PCLs are supported for both iOS Classic and iOS Unified.
On the Mac the PCL profiles are installed with Mono 3.10.
On Windows the PCL profiles for iOS Unified are not installed by default since they require a new version of NuGet 2.8.3 which is currently available as an alpha release. To get the PCL profiles for iOS Unified there is a separate installer which will install NuGet 2.8.3 into Visual Studio and install the PCL profiles.
There is a blog post about what iOS Unified is compared with iOS Classic.
Found the answer here Thanks Matt Ward
I have an iOS project that was developed for iOS6.1 and I need to be able to build it for both iOS6.1 and iOS7. I updated all tools from Xamarin and upgraded to OSX Mavericks and iOS 7.0.3 on the iPhone. So at this time I have all latest versions.
When I start to debug the project from VS2012, the app that starts on the iPhone is always an iOS7 app. I added the iOS6.1.sdk to Xcode 5 so back on the Windows machine I can select this SDK in VS2012 for compilation.
But it seems that, whatever SDK I choose in the project settings, it always returns:
-debug -linksdkonly-sdk "7.0"-targetver "6.1" --abi=armv7 (arguments taken from the mtbserver.log on the building host)
If I build the project with Xamarin Studio on the Mac the behavior is as expecting when changing the version of the SDK.
Is there a way to get around this when building remotely with VS2012?
That's a bit uncommon and it sounds like a bug - you should file it on bugzilla so it will be confirmed (and fixed if it's the case).
Most people I know install several Xcode side-by-side, i.e. they do not copy an old .sdk directory into a newer Xcode release.
You might want to try this (the trick is to rename Xcode.app before installing the new one) and then set the VS addin to the older (e.g. Xcode46.app) directory when you need to build for iOS 6.1.
Riddle me this:
Can the new PCL version of Reactive Extensions be made to work with Xamarin?
If so, how?
Nope. But check out https://github.com/mono/rx/tree/rx-oss-v2.1/Rx/NET/Source/Rx_Xamarin for versions that do work.
Yes it is possible. At the moment, you will need to switch to the beta channel of the Xamarin tools which implement Mono 3.0. This can be done via Tools > Options > Xamarin in Visual Studio 2012.
Xamarin.Android 4.7 Information
Xamarin.iOS 6.3 Information
The ReactiveUI project should have all of the libraries that you need. Here is a link to the libraries folder on their nuget site.