diff --git a/CHANGELOG.md b/CHANGELOG.md
index b1d547b..efbdab6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,15 @@
+# 3.24.0-beta.2
+- Updates iOS sdk to 3.24.1
+
+# 3.24.0-beta.1
+- Updates iOS sdk to 3.24.0
+- Adds `silentPush` initialization option to iOS
+
+# 3.23.4-beta.2
+- Changed iOS platform target to 12.0
+
+# 3.23.4-beta.1
+- Updates iOS and Android sdk to 3.23.4 and 3.23.5, respectively
# 3.23.4
- Updates iOS and Android sdk to 3.23.4 and 3.23.5, respectively
diff --git a/README.md b/README.md
index fe8eec9..076bb33 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,10 @@ Then, see the Flutter package documentation [here](https://radar.com/documentati
See an example app in `example/`.
+## iOS Installation
+
+For iOS projects using this plugin, if your iOS deployment target is below 15.0, you must add `use_frameworks!` to your `Podfile`:
+
## Support
Have questions? We're here to help! Email us at [support@radar.com](mailto:support@radar.com).
diff --git a/android/build.gradle b/android/build.gradle
index d464401..3a91de3 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -31,7 +31,7 @@ android {
minSdkVersion 16
targetSdkVersion 31
versionCode 1
- versionName '3.23.4'
+ versionName '3.24.0-beta.2'
}
lintOptions {
disable 'InvalidPackage'
diff --git a/android/src/main/java/io/radar/flutter/RadarFlutterPlugin.java b/android/src/main/java/io/radar/flutter/RadarFlutterPlugin.java
index e72023d..457133b 100644
--- a/android/src/main/java/io/radar/flutter/RadarFlutterPlugin.java
+++ b/android/src/main/java/io/radar/flutter/RadarFlutterPlugin.java
@@ -307,7 +307,7 @@ private static void initialize(MethodCall call, Result result) {
String publishableKey = call.argument("publishableKey");
SharedPreferences.Editor editor = mContext.getSharedPreferences("RadarSDK", Context.MODE_PRIVATE).edit();
editor.putString("x_platform_sdk_type", "Flutter");
- editor.putString("x_platform_sdk_version", "3.23.4");
+ editor.putString("x_platform_sdk_version", "3.24.0-beta.2");
editor.apply();
Radar.initialize(mContext, publishableKey, null, Radar.RadarLocationServicesProvider.GOOGLE, false, null, null, mActivity);
Radar.setReceiver(new RadarFlutterReceiver(channel));
diff --git a/example/.gitignore b/example/.gitignore
index f3c2053..e2ac677 100644
--- a/example/.gitignore
+++ b/example/.gitignore
@@ -42,3 +42,6 @@ app.*.map.json
# Exceptions to above rules.
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
+
+.fvm/
+.fvmrc
diff --git a/example/ios/Flutter/AppFrameworkInfo.plist b/example/ios/Flutter/AppFrameworkInfo.plist
index d57061d..8c6e561 100644
--- a/example/ios/Flutter/AppFrameworkInfo.plist
+++ b/example/ios/Flutter/AppFrameworkInfo.plist
@@ -21,6 +21,6 @@
CFBundleVersion
1.0
MinimumOSVersion
- 13.0
+ 12.0
diff --git a/example/ios/Podfile b/example/ios/Podfile
index 753f8be..c2e51a0 100644
--- a/example/ios/Podfile
+++ b/example/ios/Podfile
@@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
-platform :ios, '15.6'
+platform :ios, '12.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
@@ -28,8 +28,9 @@ require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelpe
flutter_ios_podfile_setup
target 'Runner' do
+ use_frameworks!
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
- pod 'RadarSDKMotion', '3.23.4'
+ pod 'RadarSDKMotion', '3.24.1'
end
post_install do |installer|
diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj
index 58b357c..173dafb 100644
--- a/example/ios/Runner.xcodeproj/project.pbxproj
+++ b/example/ios/Runner.xcodeproj/project.pbxproj
@@ -14,7 +14,7 @@
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
- E0F475EE7DA180B233B26F03 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 80832F7060CA121BF7C5159A /* libPods-Runner.a */; };
+ E9202D87BABE3D21C4B8C9C4 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BF6B8D2FABC5D8F1A9DD5EE /* Pods_Runner.framework */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -31,13 +31,13 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
+ 0BF6B8D2FABC5D8F1A9DD5EE /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
- 80832F7060CA121BF7C5159A /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
87C188BC246525AC987E390D /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
@@ -56,7 +56,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- E0F475EE7DA180B233B26F03 /* libPods-Runner.a in Frameworks */,
+ E9202D87BABE3D21C4B8C9C4 /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -66,7 +66,7 @@
69B467C1459EE0FA7AD9EAAD /* Frameworks */ = {
isa = PBXGroup;
children = (
- 80832F7060CA121BF7C5159A /* libPods-Runner.a */,
+ 0BF6B8D2FABC5D8F1A9DD5EE /* Pods_Runner.framework */,
);
name = Frameworks;
sourceTree = "";
@@ -150,6 +150,7 @@
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
717FBB0054865DEA34CA9827 /* [CP] Copy Pods Resources */,
+ BA45F2487E261BF5443C5B76 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -277,6 +278,23 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
};
+ BA45F2487E261BF5443C5B76 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -353,9 +371,10 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
+ STRIP_INSTALLED_PRODUCT = NO;
SUPPORTED_PLATFORMS = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
@@ -375,7 +394,7 @@
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 15.6;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -437,10 +456,11 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
+ STRIP_INSTALLED_PRODUCT = NO;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
@@ -486,9 +506,10 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
+ STRIP_INSTALLED_PRODUCT = NO;
SUPPORTED_PLATFORMS = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
@@ -508,7 +529,7 @@
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 15.6;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -536,7 +557,7 @@
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 15.6;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
diff --git a/example/lib/main.dart b/example/lib/main.dart
index ac3c910..f630f1e 100644
--- a/example/lib/main.dart
+++ b/example/lib/main.dart
@@ -69,7 +69,7 @@ class _MyAppState extends State with WidgetsBindingObserver {
}
Future initRadar() async {
- Radar.initialize('prj_test_pk_0000000000000000000000000000000000000000');
+ Radar.initialize('prj_test_pk_0000000000000000000000000000000000000000', silentPush: true);
Radar.setUserId('flutter');
Radar.setDescription('Flutter');
Radar.setMetadata({'foo': 'bar', 'bax': true, 'qux': 1});
diff --git a/ios/Classes/RadarFlutterPlugin.m b/ios/Classes/RadarFlutterPlugin.m
index dd5e7a6..1a584b7 100644
--- a/ios/Classes/RadarFlutterPlugin.m
+++ b/ios/Classes/RadarFlutterPlugin.m
@@ -157,9 +157,12 @@ - (void)initialize:(FlutterMethodCall *)call withResult:(FlutterResult)result {
NSDictionary *argsDict = call.arguments;
NSString *publishableKey = argsDict[@"publishableKey"];
+ BOOL silentPush = argsDict[@"silentPush"];
[[NSUserDefaults standardUserDefaults] setObject:@"Flutter" forKey:@"radar-xPlatformSDKType"];
- [[NSUserDefaults standardUserDefaults] setObject:@"3.23.4" forKey:@"radar-xPlatformSDKVersion"];
- [Radar initializeWithPublishableKey:publishableKey];
+ [[NSUserDefaults standardUserDefaults] setObject:@"3.24.0-beta.2" forKey:@"radar-xPlatformSDKVersion"];
+ RadarInitializeOptions *options = [[RadarInitializeOptions alloc] init];
+ options.silentPush = silentPush;
+ [Radar initializeWithPublishableKey:publishableKey options:options];
result(nil);
}
diff --git a/ios/flutter_radar.podspec b/ios/flutter_radar.podspec
index 9bb687a..9ef2e0d 100644
--- a/ios/flutter_radar.podspec
+++ b/ios/flutter_radar.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'flutter_radar'
- s.version = '3.23.4'
+ s.version = '3.24.0-beta.2'
s.summary = 'Flutter package for Radar, the leading geofencing and location tracking platform'
s.description = 'Flutter package for Radar, the leading geofencing and location tracking platform'
s.homepage = 'http://example.com'
@@ -10,8 +10,8 @@ Pod::Spec.new do |s|
s.source_files = 'Classes/**/*'
s.public_header_files = 'Classes/**/*.h'
s.dependency 'Flutter'
- s.dependency 'RadarSDK', '3.23.4'
- s.platform = :ios, '15.6'
+ s.dependency 'RadarSDK', '3.24.1'
+ s.ios.deployment_target = '12.0'
s.static_framework = true
# Flutter.framework does not contain a i386 slice. Only x86_64 simulators are supported.
diff --git a/ios/flutter_radar.podspec.template b/ios/flutter_radar.podspec.template
index 6aa3fdf..5dd19e9 100644
--- a/ios/flutter_radar.podspec.template
+++ b/ios/flutter_radar.podspec.template
@@ -11,7 +11,8 @@ Pod::Spec.new do |s|
s.public_header_files = 'Classes/**/*.h'
s.dependency 'Flutter'
s.dependency 'RadarSDK', '{{ version }}'
- s.platform = :ios, '15.6'
+ s.platform = :ios, '12.0'
+ s.ios.deployment_target = '12.0'
s.static_framework = true
# Flutter.framework does not contain a i386 slice. Only x86_64 simulators are supported.
diff --git a/lib/flutter_radar.dart b/lib/flutter_radar.dart
index 163646a..6ae9c4a 100644
--- a/lib/flutter_radar.dart
+++ b/lib/flutter_radar.dart
@@ -39,10 +39,11 @@ class Radar {
static EventsCallback? foregroundEventsCallback;
static TokenCallback? foregroundTokenCallback;
- static Future initialize(String publishableKey) async {
+ static Future initialize(String publishableKey, {bool silentPush = false}) async {
try {
await _channel.invokeMethod('initialize', {
'publishableKey': publishableKey,
+ 'silentPush': silentPush,
});
_channel.setMethodCallHandler(_handleMethodCall);
} on PlatformException catch (e) {
diff --git a/pubspec.yaml b/pubspec.yaml
index d4f7b7f..60122bd 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,6 +1,6 @@
name: flutter_radar
description: Flutter package for Radar, the leading geofencing and location tracking platform
-version: 3.23.4
+version: 3.24.0-beta.2
homepage: https://github.com/radarlabs/flutter-radar
environment: