After several weeks of trying to integrate our SDK into a UE4 project, even an empty one, we are unable to get any iOS framework to build in a UE4 iOS project.
Primarily we use our cocoapod solution, which involves a podfile installation into the xcodeproj for a project. However, UE4 generates two: UE4.xcodeproj and ProjectName.xcodeproj, as well as ProjectName.xcworkspace. To install the cocoapod I have to remove passBuildSettingsInEnvironment=1 from the ProjectName.xcodeproj found in the Project/Intermediate/ProjectFiles folder, otherwise it gets a parsing error as if that parameter shouldn’t be in the target descriptor.
From there I have the .framework and its header that I can #include and #import (some differences are needed depending on the context of the Objective-C++ code being used).
I have also added the framework in the plugin module’s Build.cs file with PublicAdditionalFrameworks.Add(). This appears to work as the log output during the build process shows that it unzips the framework into /Intermediate/UnzippedFrameworks/ThirdParty/, and using Finder I can see the unpacked framework contents on the disk. I also have PublicIncludePaths for Runtime/Core/Public/Apple and Runtime/Core/Public/IOS. There’s also the core frameworks for iOS added with PublicFrameworks for things like UIKit, Foundation, CoreLocation, etc that our SDK depend on. Those all had to be added for my Objective-C++ code to compile. However, it immediately fails thereafter stating “ld: framework not found JackpotRising” before it can finalize packaging/deployment.
I got a response this morning on the forum thread I started last week to add the framework path in the project’s Target.cs file, but the Frameworks name reference can’t be found. I am really not sure of the proper method to do any of this as there are no working examples or documentation for iOS Frameworks on Unreal Engine 4 at all.
We have tried to approach Xcode/iOS specialists to see if they have any insight on the build process, but none of them have had any experience with Unreal Engine 4. Any Unreal Engine experts we’ve talked with have next to zero experience with doing anything for mobile.
There are mentions of using the Tapjoy plugin as an example, but I cannot get that plugin to work either, nor does Tapyjoy’s website have any mention of Unreal support in their documentation - they only list out native iOS, native Android, and Unity integration.
So given everything I’ve tried, it begs the question: Does Unreal Engine 4 actually support iOS frameworks, and if it does, what is the process of going about it? If I can get this working I would love to write up documentation for other developers to use (alongside Android .AAR integration which I do have working.)