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.)
asked Apr 12 '17 at 06:17 PM in Packaging & Deployment
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.
In your build settings in xcode:
Ensure your xcode build target is ProjectName.xcodeproj (your actual game).
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
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:
Please remember that I'm fairly new to game development, I have limited knowledge so may not be able to help.
or check out:
answered Apr 19 '17 at 10:49 AM
Follow this question
Once you sign in you will be able to subscribe for any updates here