From b9cf7c64a6de431d3389e9130b3835d4d4d87254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maty=C3=A1=C5=A1=20Latner?= <matyas.latner@nic.cz> Date: Mon, 1 Jun 2015 14:40:32 +0200 Subject: [PATCH] #14 Assets integrity checksum for iOS --- ios/Info.plist.xml | 2 ++ ios/build.gradle | 2 ++ ios/src/cz/nic/tablexia/IOSLauncher.java | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/ios/Info.plist.xml b/ios/Info.plist.xml index fbe480ed3..1542ac955 100644 --- a/ios/Info.plist.xml +++ b/ios/Info.plist.xml @@ -24,6 +24,8 @@ <string>${app.build}</string> <key>cz.nic.tablexia.BuildType</key> <string>${app.buildtype}</string> + <key>cz.nic.tablexia.AssetsChecksums</key> + <string>${app.assetschecksums}</string> <key>LSRequiresIPhoneOS</key> <true/> <key>UIViewControllerBasedStatusBarAppearance</key> diff --git a/ios/build.gradle b/ios/build.gradle index 7d2d7ca3a..2ba757377 100644 --- a/ios/build.gradle +++ b/ios/build.gradle @@ -29,6 +29,7 @@ def updateRoboVMProperties(String buildType, String applicationId, String iconNa props.setProperty('app.version', tablexiaVersionName) props.setProperty('app.buildtype', buildType) props.setProperty('app.build', '' + tablexiaVersionCode) + props.setProperty('app.assetschecksums', getMapConvertedToString(rootProject.ext.assetsChecksum)) props.setProperty('app.executable', appName + '-' + buildType + '-' + tablexiaVersionName) props.store(propsFile.newDataOutputStream(), '') @@ -118,6 +119,7 @@ launchIPhoneSimulator.dependsOn assemble launchIPhoneSimulator.dependsOn updateRoboVMXML launchIOSDevice.dependsOn assemble launchIOSDevice.dependsOn updateRoboVMXML +updateRoboVMXML.dependsOn(':util:checksum:runJarChecksum') updateRoboVMXML.dependsOn copyNatives build.dependsOn createDebugIPA diff --git a/ios/src/cz/nic/tablexia/IOSLauncher.java b/ios/src/cz/nic/tablexia/IOSLauncher.java index 1e51c84fa..cc0b4cc5c 100644 --- a/ios/src/cz/nic/tablexia/IOSLauncher.java +++ b/ios/src/cz/nic/tablexia/IOSLauncher.java @@ -11,6 +11,8 @@ import org.robovm.apple.uikit.UIApplication; import java.util.Locale; +import cz.nic.tablexia.util.Utility; + public class IOSLauncher extends IOSApplication.Delegate { public static final Tablexia.SQLConnectionType SQL_CONNECTION_TYPE = new Tablexia.SQLConnectionType("SQLite.JDBCDriver", "jdbc:sqlite:"); @@ -22,12 +24,14 @@ public class IOSLauncher extends IOSApplication.Delegate { NSDictionary infoDictionary = NSBundle.getMainBundle().getInfoDictionary(); String buildType = infoDictionary.get(new NSString("cz.nic.tablexia.BuildType")).toString(); String versionName = infoDictionary.get(new NSString("CFBundleShortVersionString")).toString(); + String checksums = infoDictionary.get(new NSString("cz.nic.tablexia.AssetsChecksums")).toString(); //TODO check application state return new IOSApplication(new Tablexia(buildType, Locale.getDefault(), versionName, SQL_CONNECTION_TYPE, + Utility.createChecksumMapFromString(checksums), false), config); } -- GitLab