using MonoTouch / Mono for Android with Eclipse IDE - eclipse

Currently I am doing my first steps with MonoTouch and would like to continue with Mono for Android soon.
So far I am using the MonoDevelop IDE, but this is lacking lots of the features I got used to when using Eclipse.
How difficult would it be to integrate MonoTouch / Mono for Android with Eclipse?
This would solve a lot of problems for me :)

It's likely easy for Mono for Android which uses an msbuild system (tasks) as Mono provides a compatible tool, called xbuild but it won't be easy for MonoTouch.
MonoTouch provides a tool, mtouch that does most (but not all) of the work to build iOS applications. You can see how it's used if you look at the Build Output inside MonoDevelop (inside the Error List Pad).
There are a few steps that are done by MonoDevelop iPhone Addin. Some of them can also be done using mtouch - but not all of them (it also depends on your project).
The following questions talks about a similar subject (using msbuild to drive MonoTouch builds).
MonoTouch: custom msbuild task error
What are the complete set of steps to fully build a Monotouch app bundle from the command line?

There is a whole lot of logic for building MonoTouch apps inside of MonoDevelop such as Info.plist and Entitlements.plist merging, compiling of xibs, compressing of icons, signing of packages, creation of IPAs, etc.
It's on our TODO list to port the existing build functionality over to msbuild tasks but it isn't likely to happen anytime soon as we have a lot more important things to implement/fix first.

Related

Unable to strip the following libraries, packaging them as they are: libflutter.so

I saw this as part of the logs generated by Gradle when building an app in release mode in flutter. Does this have any side effects on the overall app?
libflutter.so is already the compiled form of flutter framework and other native scripts needed to run your app.
More specifically *.so files includes Dart language dependency, skia engine, flutter framework, platform related native code etc.
So their is no need to break them and compile them as they are already compiled. Hence it shows the message that cannot strip them packaging them as they are. This doesn't have any side effects. (*.so files are compiled form of code that are designed to run on linux distributions.) Android is also a linux distribution.
Hence there is no side effect on the app which you are building.

Unity aab not compliant with the Google Play 64-bit requirement

I have a Unity project that I'm switching from APKs to AABs (app bundles). Previously, when I was building it as an APK, the Google Play Console told me the APK was 64-bit compliant.
Now that I'm building an aab, I'm getting the warning:
This release is not compliant with the Google Play 64-bit requirement.
The following APKs or App Bundles are available to 64-bit devices, but
they only have 32-bit native code
I have both ARM7 and ARM64 architectures set.
I am excluding x86.
When I open the .aab in an archive viewer, the lib folder has all of
the .so's for both arm64-v8a and armabi-v7a.
I'm using IL2CPP, .NET 4.x
I'm using Unity 2018.3.7f1
My ndk version is 16b
My
Android Studio is up to 3.4.2 and gradle is 3.2
A lot of similar threads here talk about following the "Learn more" links, which I've done. I had already done all of the work to get my app 64-bit compliant before switching to app bundles.
Other threads talk about Android Studio solutions, which I can't use because my automated build process involves building with Unity from command line, so it has to be Unity configurations or bust.
My expectation was the app bundles were supposed to be the hot new way to let Google build better APKs for you, but it seems like it's getting confused on whether or not aabs are actually 64-bit compliant, which seems to defeat the whole purpose.
Is this a Unity problem, does Google have an error in their system with regards to app bundles, or is there some other step I'm missing?
For those who have this problem since yesterday (August 19, 2019):
In Player Settings > Other Settings you must now uncheck the x86 box (It is for the 32-bit Intel architecture).
You will now only have the following warning:
The device types on which your application can be installed will be more restricted.
But, in my case, it drops from 12392 devices to 12385 devices.
Here is the opinion of a Unity member on the issue:
x86 is used by less than 0.4% of all Android devices, so it shouldn't have any real impact.
x86 target will be removed completely in Unity 2019.3.
It looks that there was a bug in the Play Console where this message was displayed even when the AAB was compliant. This should have been fixed last Friday afternoon.
Try again now.

Using phonegap to develop iphone app on visual studio

I am completely new to mobile app development and basically c#,.net developer.Recently i got a requirement to develop a iPhone application.Some experts suggested me to use icenium extension for visual studio and Phonegap. I want to know how to use/install phonegap for this and how does phonegap helps me to develop this application?what are the basic difference between icenium and phonegap as i know both helps to develop cross platform apps.
Telerik AppBuilder (formerly known as Icenium) is a set of IDEs and cloud-based build tools that allow you to use PhoneGap/Cordova to build cross-platform apps. You should read up on it and use their free trial here: http://www.telerik.com/appbuilder
Check out the Multi-Device Hybrid Apps (Preview) from Microsoft.
Don't you just love their naming conventions...
I haven't had a chance to try it myself as it requires VS2013 and Windows 8.1, but it looks promising.
Use Nomad. (Visual studio extension which integrates Adobe Phonegap Build)
Update:
From http://vsnomad.com/
Retiring Nomad
When we made Nomad free, we hoped the support load would be
manageable. However, we’ve found our users still expect a lot of
support for free tools. We don’t want to give our users false
expectations, so we think it’s better that they find another solution
with full support. For this reason, we will retire Nomad on September
1st this year.
Alternatives to Nomad
Nomad uses the open-source Cordova framework. This means you can move
Nomad projects to other vendors that use Cordova, including:
PhoneGap Build (Adobe)
Instead of using PhoneGap Build via Nomad, you can interact with it directly using the PhoneGap Build command line.
Multi-Device Hybrid Apps (Microsoft)
A Visual Studio extension that adds PhoneGap support.
AppBuilder (Telerik)
A Visual Studio extension similar to Nomad.

Are After Effects plugins made with the AE sdk cross platform?

I am wanting to develop a after effects plugin in c/c++ using the after effects sdk. Are plugins made in this way cross-platform. I will be developing on a Mac, so will the plugin work on windows without any modifications? If not, will I have to make some small adjustments to make it cross platform, or will I have to re-develop the plugin under windows for it to run in windows?
Depends on your code.
If you use specific platform calls like GET_MAIN_WHND() you would have to alter your code according to each platform.
On the other hand it should be exactly the same code for windows.
just duplicate an existing project, exactly as you did on the mac, and copy your code.
The examples provided with Adobe's SDK are cross-platform. They will build on OSX and Windows (with XCode and Visual Studio) out of the box.
A .plugin bundle will be created for osx and a .aex file will be created for windows.
If you need to rely on libraries, you might have to check if the libraries support Windows and mac.
Here's a good starting point: https://ae-plugins.docsforadobe.dev/
and the SDKs: https://developer.adobe.com/after-effects/

How easy is it to develop an iPhone application using MonoTouch in Visual Studio?

I know about Monotouch and I have virtual MacOS and Monodevelop/Monotouch installed.
However, is it better to build an iPhone application in Monotouch on Mac OS X or it's as easy as to build iPhone app in Visual Studio and port it to iPhone via Monotouch?
Is there anyone who tried porting c# project to iPhone? How different was it from building the app on mac os using monodevelop/monotouch?
ps. my favourite helper utilities does not exist on mac os and that's the reason for this Q
As mentioned, to compile your applications and upload them for appstore use, or debug using the simulator you'll need to use MonoDevelop on a Mac.
However it is possible to write a large portion of the code in Visual Studio 2008 or 2010.
I've written 6 Monotouch apps that are selling badly in the appstore, using primarily Visual Studio. The reason I use Windows and VS2010 is I'm a lot slower with the Mac keyboard, have my Visual Studio setup for speed, and a PC that is about twice the processing power.
Here's a few gotchas and tips:
Copy the monotouch DLLs from your Mac to Windows (search for "monotouch.dll" on the Mac), stick all the DLLs in a static place and reference them in your project. It should then compile in VS.
Make sure you keep 2 project files - a MonoDevelop and a Visual Studio one. I tried converting manually and also wrote a converter to go between the two but it breaks so often it's easier to just keep two files.
You can also convert the Mono XML documentation (it's in a different format to the Microsoft .NET XML documentation format) for Visual Studio intellisense. The link below has a download for the XML documentation I generated for Monotouch 2.1.
Avoid using a shared drive for development. This make compilation on the Mac very slow - stick to copying the files using a USB stick or ideally use an online source control site like bitbucket.org
I found it was quite fast with a single keyboard, monitor and mouse and a KVM switch going between PC and Mac.
For the layout (either XIB or C#) you'll have use your Mac, or write the bare bones in VS first.
I've written a fair amount on the process here.
You simply can't develop a MonoTouch application just using Visual Studio. You have to use the OSX tools to build the code and create the package for the phone. There's no way to work around that, and the easiest way to do it is using MonoDevelop.
What me and other developers have done in the past is to develop some of the C# libraries for the apps using Visual Studio, because even though MonoDevelop is pretty good, its still far from being as good as VS. Refactoring code, for example, is much easier with tools like Resharper, etc.
When developing the App in Visual Studio, there's a lot of things you'll have to deal with; for example:
You simply cannot run a build from Visual Studio: VS doesn't know how to build the kind of project necessary for the iPhone, and it doesn't have all the libraries that exist in the iOS SDK.
there's no visual editor to create the XIB files you you probably want to create for your app.
You'll have to do a lot of extra work here and there to get the VS to even open the solution (like copy lib files from OSX to Windows, create separate projects, etc) (although I think Novell Mono tools for VS may help a little on this one.
So here's what I've been doing for the last 6 months:
Break down the application into different projects for business logic and UI logic
You should be able to build, compile and even test the business logic from VS. Just remember not to use any UI libraries, or external libraries not available in MonoTouch
Use MonoDevelop to build the UI code part of the app. Being able to quickly run the app to test helps a lot.
Every once in a while, if you feel you need to to a big cleanup, open the code in Visual Studio, and do the refactorings; although you won't be able to build anything, the code checker in VS will help to make sure the code is still valid.
Hope it helps!
This has actually changed with new MonoTouch release rebranded as Xamarin.iOS that offers tight Visual Studio integration. You still need a Mac for building and testing but you can work from VS without much hurdle.
They even hooked up the debugger:
In this screenshot, VS and OS X run on the same computer, but they don't have to, given that there is a local network connection between them.
Read more here:
Xamarin iOS for Visual Studio allows iOS applications to be written and tested on Windows computers, with a networked Mac providing the build and deployment service.
Developing for iOS inside Visual Studio provides a number of benefits:
Creation of a single cross platform solution for iOS, Android and Windows applications.
Using Visual Studio tools (such as Resharper and Team Foundation Server) for all your cross-platform projects, including iOS source code.
Using the familiar (for existing Visual Studio developers) code editor, keyboard shortcuts, etc.
Xamarin.iOS for Visual Studio supports configurations where Visual Studio is running inside a Windows virtual machine on a Mac (eg. using Parallels or VMWare).
Note that Visual Studio integration is available in Business edition which is $999 per license.
(The license is perpetual per person but you only get free upgrades for a year.)
The MonoTouch home site states:
Please note that MonoTouch requires a
Mac, Apple's iPhone SDK and you must
be part of Apple's iPhone Developer
Program to test and deploy your
software on a device and to
redistribute your code.
I think some of the problems you are going to have using Visual Studio are
you won't be designing with the native UI controls
the emulator used for testing will be different
you may end up using API calls that aren't available in the MonoTouch libraries
I would stick with using MonoDevelop on the Mac.
Since you need the Apple's iPhone SDK (which is only available for OS X) installed to develop with MonoTouch you will be limited to developing on a Mac.
MonoDevelop is quite a good IDE, and its integration with Interface Builder and the iPhone/iPad simulator makes developing for iPhone with MonoTouch a pretty nice experience.