How to use MobileDevice.Framework in MAC - macos

How can I access the MobileDevice.Framework classes in MAC?

Apple did not release any documentation because this framework is private.
Check this page for the header and available functions:
http://theiphonewiki.com/wiki/index.php?title=MobileDevice_Library

Also take a look at libimobiledevice as it's an opensource version of the MobileDevice private framework.
Apps that use private frameworks are subject to getting the rug pulled out from under them at any time if that framework changes.

Related

How to use the Plugin.Storereview for requesting reviews on Appstore in Xamarin forms Application?

I am a beginner in Xamarin forms. I have installed the plugin
https://github.com/jamesmontemagno/StoreReviewPlugin
I haven't found any usage documents on how to initialize/ how to do the setup for using the plugin when i looked on the web.
How can I display the prompt to the user using this plugin?
I just did a test and you do not need any additional steps to use this plugin.
Install this plugin through manage nuget packages and the in your project:
Use the namespace:
using Plugin.StoreReview;
Use the method:
CrossStoreReview.Current.OpenStoreListing("appid");
You need to test with a real device instead of a simulator.
The Store Review Nuget plugin has been updated to v3 recently thanks to the new (August 2020) Android native Play Core library so that it displays an In-App Review on both iOS & Android:
https://devblogs.microsoft.com/xamarin/android-in-app-reviews/
So now, initializing and setup is a lot easier and you don't need to pass the appid anywhere, it will be shown directly in the app

Libgit2sharp in Xamarin iOS

I'm trying to run Libgit2Sharp in a Xamarin.iOS project (I'm currently running it on Xamarin.Droid).
For doing so, I was trying to follow the same approach than for Android (generating a custom native binaries package) but I have faced some doubts/problems.
First, iOS doesn't allow the use of dynamic libraries at least if you want to upload the app to the market.
Is there any "easy" way no rebuild libgit2sharp to make it run static libraries?
Probably the App will not go to the official App Store, but it would be nice to know if it is possible.
Another thing I have realized while checking the libgit2sharp source code is that iOS is not in the list of possible Operating Systems, so should I make any other modification to make it run on iOS?
Thanks in advance
So in the end I found a way to run libgit2 in Xamarin.iOS.
Basically what I did was to generate the iOS libgit2 static libraries (you can use the Objective-git repository for doing so, as it is part of the process) and then modify LibGit2Sharp project to look for "__Internal" instead of the .dll/.so dynamic libraries.
The you just need to add the libgit2 static library to your Xamarin.iOS project, and that's all.
Hope someone finds this info helpful.

Documentation inside Xamarin Studio?

I would like to have some documentation inside Xamarin Studio. It would be helpful to see the documentation of the .NET framework methods or the documentation of the iOS methods.
Is there any way to enable this? Or some way to hack it in there myself?
Help - API Documentation will open MonoDoc.
MonoDoc will give you documentation on the .NET Base Class Library.
On the Mac it will also give you the option to merge the iOS documentation from Apple.

Using HttpClient in a Xamarin core project

I am doing a project for multiple platforms where I have followed best practices and created a core project to contain all the code that is the same on all platforms.
To do the network communication I would like to use HttpClient which seems to be the recommended approach for communicating with web services going forward.
I am NOT doing a PCL but just a standard C# library to contain the core project. However it seems that there is no common implementation of HttpClient but only platform specific ones. I cannot reference and use it in my core but only in my Android and iOS projects.
I would very much prefer to have all networking code in my core project and as I see it there are two options - neither of which I like.
Make a common interface that I can use in the core project that is implemented as a wrapper on both Android and iOS.
Use another technology that is supported in the core project - I am thinking webclient or the like.
What is the recommended approach and why hasn't Xamarin made HttpClient available as a common library?
Hope someone can help,
Thanks
I recommend checking out ModernHttpClient https://github.com/paulcbetts/modernhttpclient
It is a cross-platform networking library for iOS and Android. From the project:
This library brings the latest platform-specific networking libraries
to Xamarin applications via a custom HttpClient handler. Write your
app using System.Net.Http, but drop this library in and it will go
drastically faster.
You should be able to use System.Net.Http in your core library just fine, I've done it recently.
Make sure your core library is a .Net 4.5 project. There is a setting in project options for selecting the .Net version. After checking this, all you should have to do is reference System.Net.Http.dll.
If that doesn't solve your issue, are you on Windows or Mac(Xamarin Studio)?
I'm afraid you can't use HttpClient on Mono at the moment due to licensing restrictions. There is a UserVoice suggestion that you can vote on if you like.

Using a custom cache serializer with Azure App Fabric

The documentation on MSDN says you can inherit from the IDataCacheObjectSerializer interface and update the configuration used to use custom serialization.
I can't find the IDataCacheObjectSerializer or the SerializationProperties element of the Configuration class in any DLL I've looked at, has anybody found these? Which version of the SDK are you using?
Thanks
This is available with the Azure Cache (Preview) release that is part of Azure SDK 1.7
You can look at my blog for more info: http://blogs.msdn.com/b/jagan_peri/archive/2012/08/23/custom-serializer.aspx
Jagan Peri - Microsoft
The first step in the link you've provided is 'First prepare the development environment to use Caching.' which points at a set of instructions to follow first, which includes adding the necessary references

Resources