subsurface/packaging/ios
Michael Keller 2b7900b68d CICD: Make Version Information SemVer Compliant.
Make the version information used throughout the application and build
process compliant with the SemVer specifications, so that it can be
processed with libraries.

Signed-off-by: Michael Keller <github@ike.ch>
2024-07-30 11:05:10 +12:00
..
storeIcon.xcassets iOS: small change to storeIcon 2019-11-08 20:50:05 +01:00
build.sh CICD: Make Version Information SemVer Compliant. 2024-07-30 11:05:10 +12:00
Info.plist.in iOS: use M.m.p short version and M.m.p.b full version 2024-01-07 17:46:26 -08:00
iPhoneDeviceCMakeToolchain build-system/iOS: ensure cmake works for Qt builds 2020-12-17 09:17:54 -08:00
iPhoneSimulatorCMakeToolchain build-system/iOS: ensure cmake works for Qt builds 2020-12-17 09:17:54 -08:00
README.md Documentation: Update INSTALL and Convert it to Markdown. 2024-05-30 14:22:16 +12:00
SubsurfaceMobileLaunch.xib iOS: updated launchscreen so it is more centered. 2018-05-24 10:19:08 -07:00
translations.qrc fix incorrect Italian localization on iOS 2024-03-15 07:50:29 -07:00

Tool repo to crosscompile subsurface for iOS

Dependencies:

  • This only works on a Mac
  • XCode with iOS SDK and Qt5.13 or later
  • cmake

Follow these instructions and then continue here:

  1. cd <repo>/packaging/ios

  2. export IOS_BUNDLE_PRODUCT_IDENTIFIER="<your apple id>.subsurface-divelog.subsurface-mobile"

  3. ./build.sh note: this builds all dependencies and is only needed first time it currently build for armv7 arm64 and x86_64 (simulator)

  4. cd <repo>/..

  5. Launch QtCreator and open subsurface/packaging/ios/Subsurface-mobile.pro

  6. Build Subsurface-mobile in QtCreator - you can build for the simulator and for a device and even deploy to a connected device.

Everything up to here you can do without paying for an Apple Developer account.

In order to create a bundle that can be distributed things get even more complex and an Apple Developer account definitely is necessary in order for you to be able to sign the bundle.

The easiest way to do that appears to be to open the Subsurface-mobile.xcodeproj in the build directory that QtCreator used in Xcode and to create an archive there.

WARNING:

The version number used in the Subsurface-mobile app is created in step 3. So whenever you pull the latest git or commit a change, you need to re-run the build.sh script so that the Info.plist used by QtCreator (well, by Xcode under the hood) gets updated. Otherwise you will continue to see the old version number, even though the sources have been recompiled which can be very confusing.

Do a simply version update by running:

build.sh -version

and then rebuilding in Qt Creator (or Xcode).