diff options
Diffstat (limited to 'packaging/ios')
-rw-r--r-- | packaging/ios/Info.plist | 79 | ||||
-rw-r--r-- | packaging/ios/Info.plist.in | 88 | ||||
-rw-r--r-- | packaging/ios/README | 42 | ||||
-rw-r--r-- | packaging/ios/Subsurface-mobile/MainForm.ui.qml (renamed from packaging/ios/subsurface-ios/MainForm.ui.qml) | 0 | ||||
-rw-r--r-- | packaging/ios/Subsurface-mobile/Subsurface-mobile.pro (renamed from packaging/ios/subsurface-ios/subsurface-ios.pro) | 0 | ||||
-rw-r--r-- | packaging/ios/Subsurface-mobile/deployment.pri (renamed from packaging/ios/subsurface-ios/deployment.pri) | 0 | ||||
-rw-r--r-- | packaging/ios/Subsurface-mobile/main.qml (renamed from packaging/ios/subsurface-ios/main.qml) | 0 | ||||
-rw-r--r-- | packaging/ios/Subsurface-mobile/qml.qrc (renamed from packaging/ios/subsurface-ios/qml.qrc) | 0 | ||||
-rw-r--r-- | packaging/ios/build.sh | 9 |
9 files changed, 123 insertions, 95 deletions
diff --git a/packaging/ios/Info.plist b/packaging/ios/Info.plist deleted file mode 100644 index b25f58e7a..000000000 --- a/packaging/ios/Info.plist +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>CFBundleIcons</key> - <dict> - <key>CFBundlePrimaryIcon</key> - <dict> - <key>CFBundleIconFiles</key> - <array> - <string>AppIcon29x29.png</string> - <string>AppIcon29x29@2x.png</string> - <string>AppIcon40x40@2x.png</string> - <string>AppIcon57x57.png</string> - <string>AppIcon57x57@2x.png</string> - <string>AppIcon60x60@2x.png</string> - </array> - </dict> - </dict> - <key>CFBundleIcons~ipad</key> - <dict> - <key>CFBundlePrimaryIcon</key> - <dict> - <key>CFBundleIconFiles</key> - <array> - <string>AppIcon29x29.png</string> - <string>AppIcon29x29@2x.png</string> - <string>AppIcon40x40@2x.png</string> - <string>AppIcon57x57.png</string> - <string>AppIcon57x57@2x.png</string> - <string>AppIcon60x60@2x.png</string> - <string>AppIcon29x29~ipad.png</string> - <string>AppIcon29x29@2x~ipad.png</string> - <string>AppIcon40x40~ipad.png</string> - <string>AppIcon40x40@2x~ipad.png</string> - <string>AppIcon50x50~ipad.png</string> - <string>AppIcon50x50@2x~ipad.png</string> - <string>AppIcon72x72~ipad.png</string> - <string>AppIcon72x72@2x~ipad.png</string> - <string>AppIcon76x76~ipad.png</string> - <string>AppIcon76x76@2x~ipad.png</string> - </array> - </dict> - </dict> - <key>CFBundlePackageType</key> - <string>APPL</string> - <key>CFBundleGetInfoString</key> - <string>Created by Qt/QMake</string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleExecutable</key> - <string>subsurface-ios</string> - <key>CFBundleIdentifier</key> - <string>org.subsurface-divelog.subsurface-mobile</string> - <key>CFBundleDisplayName</key> - <string>Subsruface-mobile</string> - <key>CFBundleName</key> - <string>Subsruface-mobile</string> - <key>CFBundleShortVersionString</key> - <string>0.93</string> - <key>CFBundleVersion</key> - <string>1.0</string> - <key>LSRequiresIPhoneOS</key> - <true/> - <key>UILaunchStoryboardName</key> - <string>SubsurfaceMobileLaunch</string> - <key>UISupportedInterfaceOrientations</key> - <array> - <string>UIInterfaceOrientationPortrait</string> - <string>UIInterfaceOrientationPortraitUpsideDown</string> - <string>UIInterfaceOrientationLandscapeLeft</string> - <string>UIInterfaceOrientationLandscapeRight</string> - </array> - <key>NOTE</key> - <string>This file was generated by Qt/QMake.</string> - <key>NSHumanReadableCopyright</key> - <string>Copyright © 2011-2016 Linus Torvalds, Dirk Hohndel, Tomaz Canabrava and the Subsurface developer team</string> -</dict> -</plist> diff --git a/packaging/ios/Info.plist.in b/packaging/ios/Info.plist.in new file mode 100644 index 000000000..4461ed291 --- /dev/null +++ b/packaging/ios/Info.plist.in @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDisplayName</key> + <string>Subsurface-mobile</string> + <key>CFBundleExecutable</key> + <string>Subsurface-mobile</string> + <key>CFBundleGetInfoString</key> + <string>Created by Qt/QMake</string> + <key>CFBundleIcons</key> + <dict> + <key>CFBundlePrimaryIcon</key> + <dict> + <key>CFBundleIconFiles</key> + <array> + <string>AppIcon29x29.png</string> + <string>AppIcon29x29@2x.png</string> + <string>AppIcon40x40@2x.png</string> + <string>AppIcon57x57.png</string> + <string>AppIcon57x57@2x.png</string> + <string>AppIcon60x60@2x.png</string> + </array> + </dict> + </dict> + <key>CFBundleIcons~ipad</key> + <dict> + <key>CFBundlePrimaryIcon</key> + <dict> + <key>CFBundleIconFiles</key> + <array> + <string>AppIcon29x29.png</string> + <string>AppIcon29x29@2x.png</string> + <string>AppIcon40x40@2x.png</string> + <string>AppIcon57x57.png</string> + <string>AppIcon57x57@2x.png</string> + <string>AppIcon60x60@2x.png</string> + <string>AppIcon29x29~ipad.png</string> + <string>AppIcon29x29@2x~ipad.png</string> + <string>AppIcon40x40~ipad.png</string> + <string>AppIcon40x40@2x~ipad.png</string> + <string>AppIcon50x50~ipad.png</string> + <string>AppIcon50x50@2x~ipad.png</string> + <string>AppIcon72x72~ipad.png</string> + <string>AppIcon72x72@2x~ipad.png</string> + <string>AppIcon76x76~ipad.png</string> + <string>AppIcon76x76@2x~ipad.png</string> + <string>AppIcon167x167~ipad.png</string> + </array> + </dict> + </dict> + <key>CFBundleIdentifier</key> + <string>org.subsurface-divelog.subsurface-mobile</string> + <key>CFBundleName</key> + <string>Subsurface-mobile</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleShortVersionString</key> + <string>@MOBILE_VERSION@</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>@CANONICAL_VERSION@</string> + <key>LSRequiresIPhoneOS</key> + <true/> + <key>NOTE</key> + <string>This file was generated by Qt/QMake.</string> + <key>NSHumanReadableCopyright</key> + <string>Copyright © 2011-2016 Linus Torvalds, Dirk Hohndel, Tomaz Canabrava and the Subsurface developer team</string> + <key>NSMainNibFile</key> + <string>SubsurfaceMobileLaunch</string> + <key>UIBackgroundModes</key> + <array> + <string>location</string> + </array> + <key>UILaunchStoryboardName</key> + <string>SubsurfaceMobileLaunch</string> + <key>UISupportedInterfaceOrientations</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationPortraitUpsideDown</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + </array> + <key>NSLocationAlwaysUsageDescription</key> + <string>When the GPS background service is running, Subsurface-mobile continues to collect GPS positions which can then be matched with dive records.</string> +</dict> +</plist> diff --git a/packaging/ios/README b/packaging/ios/README index f414fb441..b3d49cd55 100644 --- a/packaging/ios/README +++ b/packaging/ios/README @@ -1,14 +1,14 @@ Tool repo to crosscompile subsurface for iOS -------------------------------------------- +This is very rough - the interaction between the different tools seems quite +fragile. + Dependencies: -0. This only works on a Mac -1. XCode with iOS SDK and Qt5.5. See below -2. cmake -3. ant -4. dependencies of libdivecomputer and subsurface - - visit http://subsurface.hohndel.org/documentation/building/ +- This only works on a Mac +- XCode with iOS SDK and Qt5.6 +- cmake Steps to install: @@ -19,14 +19,30 @@ And QT for android from: http://qt-project.org/downloads, including the iOS bits Step 2. Extract and install these into known directories. Have a look in the top of build.sh for where the cross build tool expects -them. By default thats is: ../../../Qt/5.5 +them. By default thats is: ../../../Qt/5.6 -Step 2. +Step 3. Run bash build.sh in the terminal. -The script will download and build the whole dependency chain. +The script will download and build the whole dependency chain, but not the actual +Subsurface-mobile binary + +Step 4. +Launch QtCreator with the Subsurface-mobile/Subsurface-mobile.pro +Build Subsurface-mobile in QtCreator - you can build for the simulator and for +a device and even deploy to a connected device. + +This will likely require an Apple Developer account ($$$). In order to create a +bundle that can be distributed things get even more complex and the interaction +between QtCreator, Xcode and the Apple Developer Portal is still quite +confusing to me. + +WARNING: +======== -After this, Subsurface-mobile will be built for iOS. +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. -The output folder is subsurface-build-ios and your newly created package shows -up as: -subsurface-build-ios/.... something diff --git a/packaging/ios/subsurface-ios/MainForm.ui.qml b/packaging/ios/Subsurface-mobile/MainForm.ui.qml index 7913bb2b8..7913bb2b8 100644 --- a/packaging/ios/subsurface-ios/MainForm.ui.qml +++ b/packaging/ios/Subsurface-mobile/MainForm.ui.qml diff --git a/packaging/ios/subsurface-ios/subsurface-ios.pro b/packaging/ios/Subsurface-mobile/Subsurface-mobile.pro index e3f657eb2..e3f657eb2 100644 --- a/packaging/ios/subsurface-ios/subsurface-ios.pro +++ b/packaging/ios/Subsurface-mobile/Subsurface-mobile.pro diff --git a/packaging/ios/subsurface-ios/deployment.pri b/packaging/ios/Subsurface-mobile/deployment.pri index 265ce71f3..265ce71f3 100644 --- a/packaging/ios/subsurface-ios/deployment.pri +++ b/packaging/ios/Subsurface-mobile/deployment.pri diff --git a/packaging/ios/subsurface-ios/main.qml b/packaging/ios/Subsurface-mobile/main.qml index 26b1a7998..26b1a7998 100644 --- a/packaging/ios/subsurface-ios/main.qml +++ b/packaging/ios/Subsurface-mobile/main.qml diff --git a/packaging/ios/subsurface-ios/qml.qrc b/packaging/ios/Subsurface-mobile/qml.qrc index 7684346a5..7684346a5 100644 --- a/packaging/ios/subsurface-ios/qml.qrc +++ b/packaging/ios/Subsurface-mobile/qml.qrc diff --git a/packaging/ios/build.sh b/packaging/ios/build.sh index 06cbfacdc..be313f094 100644 --- a/packaging/ios/build.sh +++ b/packaging/ios/build.sh @@ -26,9 +26,12 @@ LIBFTDI_VERSION=1.2 GITVERSION=$(git describe --tags --abbrev=12) CANONICALVERSION=$(git describe --tags --abbrev=12 | sed -e 's/-g.*$// ; s/^v//' | sed -e 's/-/./') MOBILEVERSION=$(grep MOBILE ../../cmake/Modules/version.cmake | cut -d\" -f 2) -echo "#define GIT_VERSION_STRING \"$GITVERSION\"" > subsurface-ios/ssrf-version.h -echo "#define CANONICAL_VERSION_STRING \"$CANONICALVERSION\"" >> subsurface-ios/ssrf-version.h -echo "#define MOBILE_VERSION_STRING \"$MOBILEVERSION\"" >> subsurface-ios/ssrf-version.h +echo "#define GIT_VERSION_STRING \"$GITVERSION\"" > subsurface-mobile/ssrf-version.h +echo "#define CANONICAL_VERSION_STRING \"$CANONICALVERSION\"" >> subsurface-mobile/ssrf-version.h +echo "#define MOBILE_VERSION_STRING \"$MOBILEVERSION\"" >> subsurface-mobile/ssrf-version.h + +# create Info.plist with the correct versions +cat Info.plist.in | sed "s/@MOBILE_VERSION@/$MOBILEVERSION/;s/@CANONICAL_VERSION@/$CANONICALVERSION/" > Info.plist # Build Subsurface-mobile by default SUBSURFACE_MOBILE=1 |