How to migrate existing Xamarin.iOS project into Xamarin.Forms code? - ios

I want to move my development completely into Xamarin.Forms. Currently, everything was developed using Xamarin.iOS and now i want to move to Forms due to some requirements. How to use my existing Xamarin.iOS code on Xamarin.Forms?

There is no easy way for this. You need to redo your application in Forms/Xaml, which takes time. You can use some iOS specific code in Xamarin.Forms renderers specifically for iOS specific styling.
There is no easy way for this unfortunately.

No Automation available. You need to do it manually. and its not going to be simple. You will have to rewrite almost all code involved with UI. you can reuse code written for business logic but for all other, you need to rewrite with Forms/Xamml.

Related

How can I create hybrid apps on IOS?

I see on Android that apps exist to create android apps. I understand nothing like this exists on IOS because of apple's terms. On IOS however, some apps, pythonista for example, allow the user to create scripts that run similar to apps. Is this functionality currently available for hybrid frameworks, IE phonegap/cordova, react native, etc? Barring this, is there some method whereby I can code and test such apps on my iPhone/iPad?
Bottom line, I want to code apps while commuting, etc, on IOS. I understand I need a computer to compile the final product, that's ok, it's just the coding/testing process I want to do on IOS.
I am up for any hack you can think of to make this work, so long as it is accessible with VoiceOver, apple's screen reader, as I cannot see at all. One example of something I thought of that won't work is using remote desktop software, there is no such software that is accessible as it uses an image of the remote screen, I have no access to this.
I am looking forward to your creativity, so far this has me stumped.
Thanks in advance.
Similar to the playgrounds answer, but if you wanted to use Xamarin you could use Continuous .NET. It’s a C# IDE for iOS. You could then use Working Copy to to keep the version on your computer in line.
The other option is to VNC into your computer at home, but if you’re on the train that might not be a great option.
It's not a solution for your problem, but if you have an iPad, you can write parts of apps in Swift Playgrounds. There you have access to all the UIKit stuff. Unfortunately some of the frameworks you can use in iOS are missing.

React-Native Select List Overley

If I have a component/container form that allows a user to select a group, I am not hip to what the component/ux should be for this, but I would imagine a select list overlay type deal, am I wrong in assuming this? Why is this not available in the react-native core? The picker for android offers this, but it seems like the iOS version is just the slot machine style picker. Am I missing something?
Is the Picker only the slot machine on iOS or is there a way without bringing in a third party component to provide this functionality for both iOS and Android?
I assume you understand that React Native is not hybrid application like phone-gap. React Native actually pulls out the native controls off of operating system. That is why, you are seeing slot-machine like picker in iOS and material-style picker in Android.
What you need to grok is that React Native is not meant to build cross-platform applications with "same" codebase. The codebase will change a little bit depending upon the OS.
You'll want to keep your business logic separate from the UI components or views, so that you can reuse the business logic in Android and iOS. UI components will differ for obvious reasons. For eg. You will not need Android Toolbar in iOS application, because there is no such thing as toolbar available natively in iOS. Similarly you will not find NavigationBarIOS in Android.
Bottom line- keep your UI components separately in a "components" folder. You can pull out desired components from "components" folders depending upon the OS.
For reference, please go through this. This is my example project back from the days when I was learning react-native. So do expect it to be very amateur-level code. Repo. You can see how I have kept things separately. Good luck!

How to manage 3rd-party library in iOS project if its source code needs to be modified in order to be used?

We need to use some 3rd-party libraries in our iOS app project (which is an Xcode project). The 3rd-party libraries are either managed by Cocoapods or directly added in the project by importing source code files.
Sometimes we need to modify a library's source code in order to actually use it appropriately in our project. It's easy to make the modification since we have all the source code at our hand, but how can we maintain the modification when some time in the future we upgrade the version of the 3rd-party library? Is there any tools or best practice out there that can help with this? And after the upgrade of the 3rd-party library, it will be good if we could differentiate in the code history about which part is done by library upgrade and which part is done by our modification.
That depends entirely on what your change is...
The best option is to not change the external code. Instead, subclass the part you need to change and use only public API so you should find out early when updating if the subclass needs to change. Unit tests also help.
If you can't subclass then you should fork the external code, then you have to manually merge updates on top of your change when you want them. This is obviously significantly more effort both in terms of importing and managing the code.

Tools for prototyping iPad applications

I would like to build a GUI prototype for an iPad application. The prototype can use static data (e.g. an xml file) but should look good and be fully functional, i.e. support user gestures, etc.
Obviously, I can program it in Objective-C. I wonder if I can use any other tool to build such a GUI easier. Does such a tool exist ?
Maybe I should use a GUI builder to build a "static" GUI and add some Objective-C code to make it react on user gestures. Does it make sense ?
You could use Antetype
It ships with various look and feels including ios and Android.
Balsamiq: http://balsamiq.com/

Delphi - Use an existing automation object in a new application

I've got an existing application which has an an automation object.
I have to rewrite this application, and I would like to use the existing automation object in the new application.
Is this possible somehowm, or do I have to create a new automation object in the new application and copy-paste the functions from the old one?
Thanks for your advice!
I think you may not need to re-write the automation object, and you can keep the old one, as long as it is running properly.
Re-writing working code is necessary only if you want to extend the functionality, or overcome incompatibility with new versions of the OS. Otherwise it is plainly risky.

Resources