Support for Monotouch and Monodroid

Feb 13, 2014 at 12:13 PM
Hi, is it possible to use these PCL for Monotouch and Monodroid projects?
Mar 25, 2014 at 6:18 PM
I was looking also for the Droid and iOS versions (with Xamarin), and, since I need the HttpClient, I also need to select the WP and Win8 versions. It looks like we are on the same boat.

I downloaded this solution and opened with VS2013 and VS2012 Ultimate Edition, both under a Win7x64 Enterprise Edition machine, and I couldn't even load the entire solution; I could load the solution, but some projects were not available:
Both "Portable.Store" and "Portable.Store.UnitTests" project says "Windows 8.1 required" on the Solution Explorer
"Portable.Phone" project says "incompatible" on the Solution Explorer
All other projects load fine, but I can't use them neither on Droid or iOS.

How did the solution loaded on your machine? Could you load it entirely?

Have you found a recommended encryption library that works for Droid and iOS?
Mar 26, 2014 at 10:04 AM
For Portable.Store you need to run the solution Under Windows 8.1 machine.
For Portable.Phone i think you need to install Windows phone 8 sdk.
For IOS and Android I have created two projects Monotouch Library and Monodroid Library and added files as link from the Portable.Desktop.
Two files that I can't reference (ProtectedDataAdapter, ProtectedDataFactory) in Security->Adaptation.
Finally add in Portable.Runtime->Adaptation->PltatformAdapter line 11 this code :
private static readonly string[] KnownPlatformNames = new[] { "Desktop", "Silverlight", "Phone", "Store", "Android", "IOS" };

Android and IOS are the names after Portable, if you name your android Library for example Portable.Droid, you need to put Droid in KnownPlatformNames.

It is not so easy to make libraries multiplatform, we need always make some features as portable and other adaptation for each Platform.
Apr 7, 2014 at 5:28 PM
Thanks.

I found a Nuget, package called "Bouncy Castle PCL" published by Oren Novotny, https://github.com/onovotny/BouncyCastle-PCL

That one is a ported version of the Bouncy Castle C# library. I compared file by file between the full .Net version and PCL, and both are 99.99% the same. There were only a dozen of files changed, and mostly were adaptions to make it more "MS style compliant" (for example, some code now encloses IDisposable items through the "using(...){}" statement, and some other properties use now .Net libraries instead of custom ones). I could say that the PCL version was modified by a deep-C# developer that knows better the language and best-practices, therefore it's a BETTER version than the original BC.

With this, you can use any of those encryption algorithms from Android and iOS.