How do you utilize a third-party iOS SDK with your Appcelerator Titanium app? - titanium

We have a well established iOS (iPad only) app written on top of Appcelerator's Titanium platform. We're looking to integrate a third-party piece of hardware with our app that interfaces with the headphone jack on the iPad. The third-party company provides an official iOS SDK to be used in XCode projects.
How can we get the provided SDK to work in our Titanium app?

You'll have to create a module. Check the guide here.
You can also search the internet. There might be existing modules already for your third-party SDK.

Related

What is the Firebase Authentication SDK for Windows and MacOS apps?

Develop Unity apps that run on desktops (Windows, MacOS). I am developing a Unity app that runs on desktop (Windows, MacOS).
If I want to use Firebase Authentication for this app (on the above OS), which SDK provided by Firebase should I use?
(Firebase Unity SDK only works with Android and iOS apps?)
If you check the Firebase documentation for setting it up for Unity, it contains a section on setting up a desktop workflow (beta) that says:
Caution: Firebase Unity SDK desktop support is a beta feature. This feature is intended only for workflows during the development of your game, not for publicly shipping code.
When you're creating a game, it's often much easier to test your game in the Unity editor and on desktop platforms first, then deploy and test on mobile devices later in development. To support this workflow, we provide a subset of the Firebase Unity SDKs which can run on Windows, macOS, Linux, and from within the Unity editor.
So Firebase's SDK for Unity does support development workflows on Windows, macOS and Linux desktop systems. It does not support building release versions for these platforms though.
So if you want to develop a game on a desktop machine, the Firebase SDK for Unity would be the easiest way to do that.
If you want to develop a game targeted for desktop machines though, that is not supported through the Firebase SDK. The usual fallback would be to communicate directly with the Firebase REST APIs from your Unity code.

How can I use native 3rd party libraries with Cocos2D-JS?

I am evaluating to switch from CoronaSDK to Cocos2D for cross platform development.
The main requirement is that I need to be able to include native libraries for iOS and Android. I have come across How To Integrate a 3rd party SDK into Plugin-X, but I am not sure if and how this would apply to Cocos2D-JS.
How can native 3rd party libraries (like ad network SDKs) be integrated into a Cocos2D-JS project, that will get compiled into native iOS and Android apps? Anybody with experiences or best practices?
That would work like normal native lib integration. For example. You want to integrate Firebase for Android platform.
What you will do is open the Android cocos project into your favorite Android editor and write native code, you can make calls to Java functions you have defined by using JSB which is a mechanism provided by Cocos2d-JS to call native functions from JS code.
When you build for Android, your lib for Firebase and code will get compiled perfectly.
Same is the case if you want to do for iOS.
Cocos2d also has support for SDKBox which has many third-party services SDK already implemented for you for both iOS and Android.

AdMob SDK for windows 8

Google's AdMob page(Monetize your app) says the following:
Cross platform
AdMob connects you with millions of advertisers looking to reach users across platforms, including Android, iOS and Windows 8.
I have searched extensively, but failed to find the SDK for Windows 8.
Could anyone provide a pointer?
The Android SDK is at
https://developers.google.com/mobile-ads-sdk/download#downloadplay
There is no SDK specific to Windows8. SDK is dependent upon target dev platform, iOS, Android, WindowsPhone8 etc. That same page provides the SDKs for all platforms.

Which platforms does Xamarin support?

I tried finding the information both on their website and on the Internet, but it appears that everywhere I look, a different list pops up.
Their front page says iOS, Android, Windows and Mac.
In their documentation (http://docs.xamarin.com/), only Android iOS,
Mac are mentioned at the docs front-page. I'm wondering does this
mean Windows has lesser priority compared to others.
On the Internet, I've found even more inconclusive information. Also,
it's hard to conclude what Windows means, mobile or desktop.
I've never used the product, but would love to try it for the game that I want to create, so I have two questions:
Can you give me a complete list of supported platforms (Android, iOS, Mac, Windows, Windows Phone, HTML5, Flash...)?
Can I target Facebook app with Xamarin?
Thanks in advance.
To update and extend Jason's answer there is now Xamarin.Forms that let us build cross-platform GUI for Android, iOS and Windows Phone. Looking at Xamarin's FormsGallery sample app I think it is fair to say that it de facto supports Windows Phone as well.
In addition to Xamarin.Forms there's always the possibility to use Xamarin.iOS, Xamarin.Android and Xamarin.Mac for platform customizations.
Xamarin.Mobile is in a preview release and supports Android, iOS and Windows Phone. It is used as an abstracted API of the native services (camera, geolocation etc).
However since you need the local SDK's installed for compilation you need a Mac computer to be able to deply for iOS. In order to compile for Windows Phone you need to use Visual Studio and the Xamarin Plugin, Xamarin Studio is not able to do this.
To conclude Xamarin supports development for
Android
iOS
Windows Phone
Mac
However not all of Xamarin's API's are implemented for all platforms.
Xamarin has three products
Xamarin.iOS - write iOS apps using C#
Xamarin.Android - write Android apps using C#
Xamarin.Mac - write Mac desktop apps using C#
Xamarin does not directly support Windows Phone apps. However, because you can write iOS and Android apps in C#, and C# is the native language for Windows Phone, using Xamarin allows you to write code that is usable across all three mobile platforms. Xamarin also provides some tools (like their Xamarin.Mobile library) that make this easier by providing a common interface to some common platform functions that will run on all three platforms.
You can write a mobile app that uses Facebook's API with Xamarin, but you cannot create a Facebook app (one that runs on Facebook).
You may find the actual list of additional platforms here.
On April 2019, it's listed as:
Android (incl. Android Wear)
iOS (incl. watchOS and tvOS)
Windows (UWP and WPF)
Linux (GTK)
Mac
Tizen
Windows Phone not supported since Xamarin 3.x

I'm confused about the tools/frameworks for mobile web app development

I'm confused. What are the differences between Sencha, Titanium, and Cappuccino?
(I'm assuming you're talking about Appcelerator Titanium.)
Probably the biggest difference is the language used. Cappuccino uses a language called Objective-J, which is VERY similar to the Objective-C language used for native Mac and iPhone/iPad apps, but then gets compiled into Javascript for a web app. The other two use HTML/JS like a native web app.
Also, there's the big question of what the application actually looks like on a mobile platform, and what features it can access. Cappuccino and Sencha, AFAIK, allow you to design web apps that are optimized for mobile. But, since they're just glorified web pages, they won't be able to get things like accelerometer or GPS data; they aren't native iPhone or Android apps. Titanium, however, compiles to a native iPhone or Android app and allows you to do those things. Titanium can also compile to a native desktop application.
Hope this helps!
Sencha is the web-based javascript framework to develop webapp. You must use Sencha with other platform such as PhoneGap in order to run this webapp in iPhone / Android. There are many web-based javascript framework like Sencha such as jQuery Mobile, Magic Framework, xUI...
Titanium is different. It also use Javascript for develop app. But Titanium will compile these javascript to objective-C code. It mean when using Titanium, you develop native app, not webapp as PhoneGap.