I tryed to decompile iOS application developed by Xamarin.iOS(Xamarin.Forms), But ILSpy and NET Reflector couldn't decompile all methods correctly. Decompiled method body is prefectly empty.
What can i do for this problem?
The only thing you will find in a Xamarin Dll inside the app bundle is some metadata required by the runtime. All methods logic won't be there because it has been AOT'ed and now the logic lives inside the native binary itself. This is mainly because iOS does not allow dynamic code generation.
You can read more info about how Xamarin works here
Hope this helps.
Related
I have xamarin binding project (represents kind of bridge to native iOS static library) which works fine if added to a solution.
What I'm trying to do is to use /bin/libary.dll instead of binding project.
I created new xamarin.ios simple view project, added reference to library.dll.
Project compiles fine using API from that library but when run i'm getting fatal error:
so there is no even entry point to application
sorry probably for posting obvioues answer, but I need to get it working fast.
I have existing iOS and Android native apps. Is it possible to extend the apps with Xamarin coded part ?
Both Xamarin.iOS and Xamarin.Android are currently setup to take control of your application, so you need to make your main program be written in C# and then call into the existing code.
The way that you would do this is to bind your existing Objective-C or Java code as C# libraries, and then consume those libraries from C#. The binding technology is precisely what drives both the Xamarin.iOS and Xamarin.Android tools, so you would effectively be doing the same.
Once you have bindings, the interoperability works both ways: you can call native code, and native code can call C#.
The bad news is that instead of starting to enjoy writing code with both tools from day zero, the first thing you have to do the bindings, which is in general, not as fun as watching colored squared move on your screen.
Ok I find an answer here : http://www.whitneyland.com/2013/05/why-i-dont-recommend-xamarin-for-mobile-development.html
For example, code written in Xamarin cannot be used in native or HTML5
apps.
I have a class library project (developed in VS) which I want to share with a MonoTouch project I'm working on. The problem is that when I try to add a reference to the library project in MonoDevelop an error is displayed saying 'Incompatible target framework: v.NETFramework,Version=v3.5)'.
From what I've read on the web I have to create another class library project in MonoDevelop and then link all the project files from the original into it...I'll do this if I have to but i'd rather have a cleaner solution to this, if not a simple project file fix then maybe a script I can run...
Regards
Lee
A Portable Class Library would be the way to go, but unfortunately not yet properly supported in the current version of MonoDevelop with MonoTouch. Work seems to be in progress though.
You do have to create a class library project in MonoDevelop. The library has to be compiled with the MonoTouch version of the framework.
The reason for this is MonoTouch framework is based on the Silverlight lightweight version of the .NET framework.
See here http://docs.xamarin.com/ios/about/assemblies for more info.
I have followed http://wiki.appcelerator.org/display/guides/iOS+Module+Development+Guide and created a ios module and integrated it to titanium application. Now kindly help me how to convert an existing iOS4 (iPhone) application into iOS module for titanium.
My question might be very sily, kindly help me :)
Titanium mobile uses its native javascript to develop modules. At compile time it translates the source code into native code.
And as per your situation you have a native application in iOS 4, so in order to convert it to titanium you got to create the application from scratch in titanium using its native javascript.
I don't think there is any trick or application that converts a native iOS application to titanium.
One suggestion would be by creating an empty module and putting your existing code inside it. The tricky part is getting rid of your own Appdelegate and attching the Modules delegate to your source.
You can show any of your view controllers as follows
[[TiApp app] showModalController:myViewController animated:YES];
I'm all about code reuse. One of the best ways in .NET/Mono is to create a class library. I have a few custom UIViews that I would like to place in a class library (.dll) so that I can redistribute it but for some reason I am not able to create a project that references monotouch from a stand-alone library. The only way to reference it is to create a full blown iPhone project -- not what I want.
Any help would be appreciated.
Under MonoDevelop project types C#->iPhone and iPad, I have
iPhone Window-based Project
iPhone OpenGL Project
iPhone Navigation-based Project
iPhone Utility Project
MonoTouch Library Project
Empty MonoTouch Project
iPad Window-based Project
Universal Window-based Project
You want MonoTouch Library Project. This will compile a DLL that can be referenced in another MonoTouch project.
I know this works because I have 2 projects that reference a DLL I created just for the benefit of reusing code.