How do I bundle a framework in a monodevelop project? - macos

I'm having big trouble understanding how I would be able to bundle a framework(SDL) with my app in order to avoid having the user manually install it. The problem is that I can't figure out how to make mono look for frameworks in the .app folder.
I've seen several posts on changing the install path of a framework and then linking it with an x-code project but I've yet to find anything that covers this when using mono.

I've recently answered a related question here:
P/Invoke into .framework files on Mono Mac
and Setting path of the Native Library for DllImport on Mono for Mac.
See the section titled "Bundling Native Frameworks in a MonoMac Application" in my reply to that 2nd question.

Related

Which project(s) to install shared libraries in Xamarin App

I want to use a shared class library from my backend API in my Xamarin Forms 5 app. This library mostly contains some util functions and I have it as a NuGet package.
Do I need to install this package on all three projects or just the main project where I have my code and where I'll be using it?
I read some articles and watched some videos and got some conflicting answers. In some cases, packages are installed onto all three projects but other times only onto the main one. I'm sure there's some logic to this. I'd appreciate someone telling me how to determine where to install NuGet packages like mine?
if it's just a .NET library, install it in your .NET project where all the Forms code is
nugets that are installed in multiple projects typically contain multiple libraries - iOS, Android and .NET, and nuget installs the appropriate library in each one

Cannot install NuGet packages to PCL - "package does not contain any assembly references or content files that are compatible with that framework"

I am trying to follow a tutorial on consuming web services in Xamarin Forms. I created a fresh project and have tried to install Refit, that didn't work so I tried to install RestSharp. I can install both of these libraries to my Droid / iOS projects, but not to the PCL. I get the following error in Visual Studio:
Could not install package 'Refit 4.0.1'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile111', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author
Could not install package 'RestSharp 106.2.1'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile111', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author
I've found this post on the xamarin forums, but it didn't fix my issue. My project is fresh, everything is up to date... Does anyone know how I can fix this issue?
vents XF is supposed to make developing cross platform apps faster & easier, but i think I'd have done this poc in native ios/droid twice in the time it's taken me to install a library to a blank project! :)
This happens because RestSharp it's not compatible with PCL-library. So you will have to handle whatever you're trying to do in platform specific.

ArcGIS Runtime SDK for Xamarin?

I downloaded ArcGIS Runtime SDK for Xamarin (Quartz Beta).
On installing it out of the box in portable project I get following error :
Could not install package 'Esri.ArcGISRuntime.Xamarin.Forms
100.0.0.1369-beta'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile7
I tried to change the profile number but it doesn't seem to work. How should I proceed?
The sample code from their github project shows that they set up their projects using a shared code approach rather than a Portable Class Library. I'm not sure they designed their library with PCL support in mind.
In the beta forums, an esri employee answered this with regards to whether the SDK could support PCL:
Unfortunately PCL isn't possible for the Runtime due to some of the native dependencies. We recommend using shared projects to share the code you otherwise would have put in a PCL.

Monogame and MonoDevelop missing IDE MacOSX

I tried installing monogame and monodevelop but after downloading and installing the required applications there is no Monogame IDE in my application folder.
What i did was the following:
Started on the monogame download page (http://www.monogame.net/downloads) and followed the corresponding links to download these files for OSX:
Xamarin Studio 4.0.12 installer
Mono + GTK# to which it linked me to the mono download page to which i download
The Runtime and SDK files for OSX Version 2.10.x
I installed each program in the corresponding order and continues the installation process by downloading the MonoGame installation V3.0.1 for Xamarin and MonoDevelop because i wasnt sure which one to get. But when I couldn't simply drag or click to install I looked in my application folder there was no Monogame IDE only the Xamarin Studio IDE which I presume is the correct process. But When I opened the Xamarin IDE it says that I've download the starter version and I cannot use Monogame.
Aside from the monogame website and various googling instructions, I've tried following these very clear instruction from this blog (http://mastrgamr.net/xna/programming-xna-on-mac/) but got stuck when I could find nor open my MonoGame and the Xamarian IDE displaying the correct screen.
I do not understand what I am doing wrong as the installation instructions seem very clear.
EDIT:
So i found out that Xamarian IDE replaced the MonoDeveloper IDE though the instructions I've found are using MonoDeveloper IDE as the example. I'm not sure if theres a significant difference but I presume there is a difference as I still can't seem to run monoGame and the outdated instructions aren't syncretic with my actions. Can anyone provide me with updated Xamarian instructions?
A little while ago Xamarin replaced MonoDevelop with Xamarin Studio. So MonoDevelop is now called Xamarin Studio and it looks and behaves a little different. That's why any tutorials talking about MonoDevelop are going to be a little confusing.
I've never tried to install Xamarin Studio on a Mac so I'm not sure what the error is about the starter version. However, I suspect it might be talking about the Xamarin licensing.
What I can tell you is, you won't be able to develop games with MonoGame on the starter edition if you are targeting platforms other than Windows (this includes Android, iOS and I presume Mac) due to the limited app size. You should consider buying a license from Xamarin if this is indeed your issue.

Xamarin: Unable to add HotTuna.StarterPack

I am trying to install the MVVMCross.HotTuna.StarterPack on my Xamarin (Mac) Solution using the NuGet, but i ain't successful. The package was installed in the Xamarin.Android project successfully but while i try the same to do with the iOS and PCL project, it doesn't add. Any Idea on whats going wrong? Thanks!
That nuget package requires nuget 2.5 which isn't yet finished/released for Xamarin Studio - track https://github.com/mrward/monodevelop-nuget-addin/issues/13 for updates
It will also probably require fixes from Xamarin - they've not yet released PCL support, but it is in development. You can ask their forum and/or support for updates on this.
In the meantime:
you can develop for MvvmCross using VS on the PC - see http://mvvmcross.wordpress.com/
you can develop using binaries (not nuget) on the Mac - see http://slodge.blogspot.com/2013/05/xamarin-studio-quick-run-through-for.html
For Xamarin.Mac/MonoMac support, there's no PCL support currently available - so the only way to get this working currently is to fork the MvvmCross solution and to compile the PCL libraries for the appropriate Mac project. For more on current .Mac issues, track and/or contribute to: http://forums.xamarin.com/discussion/3733/playing-with-pcls

Resources