Unable to get a Framework to build within iOS project

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.)

My forum post related to this issue

Hi, I have encountered a similar problem when I tried to use xcode to build my game project. I apologise if there are any errors or nonsense below. I wrote this mostly from memory, so its a bit foggy in my head.

Some suggestions:
Check your .plist file in the build directory - ensure it has the correct bundle id (it should be listed more than once, try line 9 and line 23). Don’t open with note pad (it won’t show all the info), instead try https://www.sublimetext.com/
Also make sure the correct game name is in the .plist file.

In your build settings in xcode:
Change product name to your games name
Supported: change to IOS
Deployment target: IOS 6.1
Base sdk: latest
Set up code signing (warning this is tricky - make sure the bundle id matches up - choose the correct certificates and provisioning profile)
Set scheme to development

Next try:
Ensure user is admin and check computer priviledges
Turn on developer rights
Make sure your certifates are added to your mac keychain

Ensure your xcode build target is ProjectName.xcodeproj (your actual game).
Ignore UE4.xcodeproj (you don’t want to build that - I think its the editor and other UE4 engine stuff, not the actual game).
Also check out: Compiling Game Projects | Unreal Engine Documentation

Try:
Clean
Validate
Build

Supposedly, it’s possible to be able to build a UE4 project with xcode - however, I spent six months trying and the best I could ever do was build my game with all the art assets missing. I read online about many other people complaining that UE4 projects are hard to develop for on xcode. Even if it’s possible to build, it is certainly far more difficult than it should be.

I would advise building and packaging a blueprint only project on a windows machine, then using app loader to upload your finished project to apple. I have successfully done this three times now. Check out:
https://itunes.apple.com/gb/app/guinea-king/id1129756283?mt=8
https://itunes.apple.com/gb/app/elken/id1185468661?mt=8
(the thirds still being processed for release - out within the next couple of days.)

I hope this helps. I personally think the unreal engine is unsuitable for mobile games development. It’s fantastic for pc and console though. Even if you build your project, you may find that its too large to compete as a mobile game - there is a 100mb cellular download limit imposed on apple mobile game downloads. I found that even an empty project is often larger than this. All my games on the app store can’t be downloaded on a cellular network as a consequence of their size (bare in mind that “Guinea King” has very small, compressed files. It should easily be under 100mb)

If any developers want to chat or ask me anything, feel free to send an email to:
Precision.Gaming@outlook.com

Please remember that I’m fairly new to game development, I have limited knowledge so may not be able to help.

If any one finds this useful, then please consider following me on:
https://twitter.com/P_Gaming_Design

or check out:

I have a similar problem now, did you find a solution later?