How to properly integrate Unity + Vuforia into an existing native iOS Project? - ios

We have created a project with Unity 2017.3 and Vuforia 6.0.114 and need to integrate it into a native iOS App with already existing AppDelegate and existing ViewContollers. We still want to launch our own AppDelegate and starting ViewController but on some point later the Unity+Vuforia-Controller shall be entered.
We are familiar with the process of integrating a Unity App into a native iOS App itself and we made everything work fine as long as there is no Vuforia involved.
The problem is that Vuforia itself subclasses Unity's Controller (in VuforiaNativeRendererController.mm) by using the IMPL_APP_CONTROLLER_SUBCLASS(VuforiaNativeRendererController) mechanism.
This is actually the same way we subclass our own iOS native App, thus we have a conflict. We can either start our part and take control of Unity or let Vuforia do it.
The question now is: Is it possible to somehow further subclass Vuforia or something similar? And if so, how could this be achieved?

We recently hit that exact same road bump. Using this method to integrate the Unity app into our existing native iOS project, we managed to bypass the renderer issue. Just make sure you turn off Auto Graphics API in Unity's player settings and use OpenGLES2 instead of Metal

I know this question is old, but pops-up in search and there is a solution.
Here's guide on Using Vuforia Engine with Unity as a Library (UaaL)

Related

Is their an equivalent of react natives "Hot Reloading" for native iOS Simulator development?

I'm wondering if there is a way to see UI changes in an iOS application without having to restart the device or simulator. I know in react native since they use Javascript you're able to make a change to the background colour of a view and the background would reflect that change without having to restart the simulator. So I'm thinking since react native just converts javascript into native app code this might be possible in Native Development? Yes no maybe?
Doing normal native iOS development in the typical way -- no.
But, if you reproduce what ReactNative is doing (defining a data format for UI, loading it, and then wiring it up dynamically), then you can re-create it.
You might want to look into SwiftUI, which gives you a way to preview in Xcode without running the entire app.
Without that, if you use modules for all your UI code, you could incorporate a playground and see live changes as you code as well.

Could I mix Unity with iOS?

I have questions about Unity and iOS.
1) Could I put Unity program into iOS UIView?
2) Could I get data of variables from Unity program in iOS app?
Thanks for reading.
YES and YES
- You can imbed your unity view into any Navigation Controller , and you can pass variables from your iOS app into unity app .
Here is a demo project with the functions you will need
https://drive.google.com/file/d/1ElDzo1Uno14bM0cKNThMTC6KOUjDl8Hb/view
You may want to look into integrating Unity as a library in a native iOS app.
However Unity suggests:
...that you deeply understand the architecture of Android/Java & iOS/Objective C applications.
Before doing so

How to dismiss or suppress permission issue automatically related to Contacts, Camera, Microphone in iOS Application

I have been working on a project wherein i made a framework where i automatically test the SDK my company is developing.
I have created my dummy sample application for all the platforms(iOS, Android, OSX, Windows) which makes use of this SDK and i thereby test this SDK, call the SDK API's do my work.
Now my question is for iOS i get permission alerts for Contacts, Camera and Microphone first time whenever i use the API's of my SDK which internally is invoking something in iOS framework. Is there a way i can automatically give this permission to my application ?? i know it's iOS own Security concern and it's correct. But how do i bypass it.
I see there is Apple's XCUITest framework but i don't want to open my application via it.
Right now i handle this alert manually but i need to implement Continuous Integration(using ios-deploy), i have done everything but i can't handle these alerts automatically.
Can someone please help me.. Thanks!!

Facebook iOS SDK & backwards compatibility

I'm trying to wrap my head around this and figure out what would be the best approach:
I want to take advantage of all the new features that iOS 6.0 introduced in terms of interacting with facebook - this includes the built-in social framework that allows fast facebook SSO and native post dialogs. This is done fairly easily using the new Facebook iOS SDK v3.1.1.
The problem is that I also want my applications to be available for any non-iOS 6.0 adopters. This made me face a very ugly situation in which I need to create an elaborate social wrapper that would have to be compiled differently (with different FB SDKs) and to run separate code in order to support earlier iOS versions. Because a lot of the Facebook SDK already includes fallbacks and handles a lot of old, deprecated calls to the feed and dialog APIs, I figured that there must be a better way, while taking this in account, to create such a social wrapper.
I guess what I'm asking for here is any clue as to where to proceed from here. If anyone has ever tackled this issue (even in earlier versions of the SDK) I would be glad to know.
Thanks in advance
Weak linking is definitely the way to go here.
The 3.1.1 SDK can handle running on either iOS 5 or iOS 6, all you need to do is weak link the relevant frameworks in your build settings, and change the deployment traget to 5.0 (leaving the base sdk as 6.0).
Of course, you still need to handle the case when the native post dialog isn't available (You can use FBNAtiveDialogs' canPresentShareDialogWithSession: method) and use the SDK dialog instead.

Embed Adobe Air/Flex application inside a standard iOS application

I have a native (Obj-C, standard Xcode project) application and I'd like to integrate a partners iOS application (or specifically, it's functionality) into it as just another view in my application. The problem is that their application is a Flex/Air app. I really don't understand the Adobe compilation process on how it gets from a bunch of flex code down to an IPA. I don't see intermediate projects, shared objects, etc on the disk to produce that IPA. It looks like it doesn't rely on the Apple tool chain... as I understand it, you can produce the IPA on Windows as well.
Is there any way to build that Flex app in such a way that I can import it into Xcode so I can link against it and use it as a library from within my application?
While I specifically used iOS as an example since that is the most important platform, we'll want to apply this solution to our respective Android and Blackberry 6 apps as well.
No, you cannot embed an application within another application. This is true for all applications. Only thing you could do is get the swf of your partner's code and embed that into an Air application, but since you're not using Actionscript/Flex, it won't be possible.
Only other way would be to have an app link to the other application.

Resources