Skip to content

Commit

Permalink
Initial App Store build settings.
Browse files Browse the repository at this point in the history
  • Loading branch information
dogmaphobic committed Jun 3, 2016
1 parent 39054f6 commit 133ff14
Show file tree
Hide file tree
Showing 8 changed files with 118 additions and 43 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@ gstreamer-1.0-android*
*.autosave
.settings/

# iOS Generated files
ios/iOSForAppStore-Info.plist

# Generated files
moc_*
ui_*
Expand Down
16 changes: 16 additions & 0 deletions build_ios.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash
if [ ! -d /Volumes/RAMDisk ] ; then
echo 'RAM Disk not found'
echo 'Only used for App Store builds. It will not work on your computer.'
exit 1
fi
#-- Set to my local installation
QMAKE=/Applications/Qt/5.5/ios/bin/qmake
#-- Using Travis variables as this will eventually live there
SHADOW_BUILD_DIR=/Volumes/RAMDisk/build-qgroundcontrol-iOS-Release
TRAVIS_BUILD_DIR=/Users/gus/github/work/qgroundcontrol
#-- Build it
mkdir -p ${SHADOW_BUILD_DIR} &&
cd ${SHADOW_BUILD_DIR} &&
${QMAKE} -r ${TRAVIS_BUILD_DIR}/qgroundcontrol.pro CONFIG+=WarningsAsErrorsOn CONFIG-=debug_and_release CONFIG+=release CONFIG+=ForAppStore &&
xcodebuild -configuration Release -xcconfig ${TRAVIS_BUILD_DIR}/ios/qgroundcontrol_appstore.xcconfig
12 changes: 5 additions & 7 deletions ios/iOS-Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,24 @@
<string>QGroundControl</string>
<key>CFBundleExecutable</key>
<string>qgroundcontrol</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>NSHumanReadableCopyright</key>
<string>Open Source Flight Systems GmbH - Internal Build</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>org.mavlink.qgroundcontrol</string>
<string>org.QGroundControl.QGCiOS</string>
<key>CFBundleName</key>
<string>QGroundControl</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>#.#.#</string>
<string>0.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>###</string>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
<key>UILaunchStoryboardName</key>
<string>QGCLaunchScreen</string>
<key>UIRequiresFullScreen</key>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,48 +1,15 @@
<?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">
<plist version="1">
<dict>
<key>CFBundleDisplayName</key>
<string>QGroundControl</string>
<key>CFBundleExecutable</key>
<string>qgroundcontrol</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>NSHumanReadableCopyright</key>
<string>Open Source Flight Systems GmbH</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.grubba.qgroundcontrol</string>
<key>CFBundleName</key>
<string>QGroundControl</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>#.#.#</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>###</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
<key>UILaunchStoryboardName</key>
<string>QGCLaunchScreen</string>
<key>UIRequiresFullScreen</key>
<true/>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>ForAppStore</key>
<string>Yes</string>
<key>NSLocationUsageDescription</key>
<string>Ground Station Location</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Ground Station Location</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>CFBundleIcons</key>
<dict>
<key>CFBundlePrimaryIcon</key>
Expand Down Expand Up @@ -83,5 +50,36 @@
</array>
</dict>
</dict>
<key>CFBundleIdentifier</key>
<string>org.QGroundControl.QGCiOS</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>QGroundControl</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>###VERSION###</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>###BUILD###</string>
<key>ForAppStore</key>
<string>Yes</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSLocationUsageDescription</key>
<string>Ground Station Location</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Ground Station Location</string>
<key>UILaunchStoryboardName</key>
<string>QGCLaunchScreen</string>
<key>UIRequiresFullScreen</key>
<true/>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
17 changes: 17 additions & 0 deletions ios/qgroundcontrol.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
CODE_SIGN_IDENTITY = "";
CODE_SIGNING_REQUIRED = NO;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
17 changes: 17 additions & 0 deletions ios/qgroundcontrol_appstore.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
CODE_SIGN_IDENTITY = "iPhone Distribution";
PROVISIONING_PROFILE = 11a5f941-2284-40f1-95ad-50005b648377;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
6 changes: 6 additions & 0 deletions qgroundcontrol.pro
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,12 @@ iOSBuild {
#-- Info.plist (need an "official" one for the App Store)
ForAppStore {
message(App Store Build)
#-- Create official, versioned Info.plist
APP_STORE = $$system(cd $${BASEDIR} && $${BASEDIR}/tools/update_ios_version.sh $${BASEDIR}/ios/iOSForAppStore-Info-Source.plist $${BASEDIR}/ios/iOSForAppStore-Info.plist)
APP_ERROR = $$find(APP_STORE, "Error")
count(APP_ERROR, 1) {
error("Error building .plist file. 'ForAppStore' builds are only possible through the official build system.")
}
QMAKE_INFO_PLIST = $${BASEDIR}/ios/iOSForAppStore-Info.plist
OTHER_FILES += $${BASEDIR}/ios/iOSForAppStore-Info.plist
} else {
Expand Down
20 changes: 20 additions & 0 deletions tools/update_ios_version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env bash

# this requires `master` in the git tree
# travis-ci branch builds are unable to set the version properly

PLIST_FILE_SRC=$1
PLIST_FILE_DST=$2

BUILD_CODE=`git rev-list master --first-parent --count`
VERSION_CODE=`git describe --always --tags | sed -e 's/[^0-9.]*\([0-9.]*\).*/\1/'`

if [ -z "$BUILD_CODE" -o -z "$VERSION_CODE" ]; then
echo "Error: Version and/or build empty."
exit 1 # Cause the build to fail
else
echo "Version: ${VERSION_CODE}"
echo "Build: ${BUILD_CODE}"
fi

sed -e "s/\###BUILD###/${BUILD_CODE}/" -e "s/\###VERSION###/${VERSION_CODE}/" $PLIST_FILE_SRC > $PLIST_FILE_DST

0 comments on commit 133ff14

Please sign in to comment.