DEV Community

ronaktheshinigami
ronaktheshinigami

Posted on

1 1

Getting a .app instead of .ipa as final artifact from cmake.

Hello community,

TL;DR
My question is : How can CMake be used to build an IPA? currently we are getting a .app artifact as final product, Does CMake have the required commands or targets to do this ? Earlier we were using XCodebuild -exportArchive option for same.

I am trying to port an iOS application from Qt5 (build with Qmake) to Qt6 (build with Cmake), and I have successfully completed compilation and linking stages.
I am getting an archive as App.app instead of an expected App.ipa

commands used to build app

cmake -H. -Bbuildxcode -DCMAKE_PREFIX_PATH=/Users/cybercraft/Qt/6.2.4/ios -DCMAKE_TOOLCHAIN_FILE=../ios.toolchain.cmake -DPLATFORM=OS64  -DENABLE_BITCODE=NO -GXcode
cmake --build buildxcode
Enter fullscreen mode Exit fullscreen mode

I have a bash script that does build an ipa with Qt5.12.11, I've compared the xproj files (from both bash build and cmake build) side by side for every setting, didnt find any difference for packaging/signing.
Building ipa directly from command line using XCodebuild -exportArchive didnt work as well, producing same .app instead of .ipa.

I'm new to cmake and iOS development, am I missing something critical?

I have added my CMakeLists.txt file here [ https://pastebin.com/VD2DxHNi ]
ios.toolchain.cmake is taken from [ https://github.com/leetal/ios-cmake ]
My info.plist file here [https://pastebin.com/qcrd6Fdy ]
My export.plist file here [ https://pastebin.com/eJiVnwFt ]
screenshot of compilation process "with build successfull" [ https://imgur.com/a/97PCXeZ ]

Build environment Details:
Qt version: 5.12.11
qmake version: 3.1
MacOs version: 12.6 (Monterey, M1 2020)
Xcode version: 14.0.1 (14A400)
xcodebuild version: 14.0.1 (14A400)
cmake version: 3.24.2
boost version: 1.80.0

I've already followed few online suggestions and solutions mentioned in forums, but none of them worked, if you want me to add thoses, I'll add them too, just let me know if it helps.
although my question could possibly be a duplicate of https://stackoverflow.com/questions/72553643/creating-an-ipa-from-app-for-ios-using-cmake still hoping to find some solutions.
https://stackoverflow.com/questions/8739506/xcode-creates-archive-instead-of-ipa didnt help here.
https://stackoverflow.com/questions/52049567/get-ipa-from-xcode didnt help as well.

Regards.

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more