From 98d3084efd525d959fcdb758fa21650a26c5ac87 Mon Sep 17 00:00:00 2001
From: Josh Yaganeh <319444+jyaganeh@users.noreply.github.com>
Date: Wed, 31 Jan 2024 15:37:14 -0800
Subject: [PATCH] [MOBILE-4102] Release 19.1.0 (#11)
---
.github/workflows/ci.yaml | 2 +-
.github/workflows/release.yaml | 2 +-
CHANGELOG.md | 16 ++-
Cartfile | 2 +-
DEV_README.md | 4 +-
Directory.Build.props | 12 +-
MIGRATION.md | 16 ++-
MauiSample/MauiSample.csproj | 2 +
MauiSample/Platforms/iOS/AppDelegate.cs | 2 +-
airship.properties | 8 +-
binderator/config.json | 36 ++---
.../Transforms/Metadata.xml | 2 +
src/Airship.Net/Platforms/Android/Airship.cs | 129 ++++++++----------
src/Airship.Net/Platforms/iOS/Airship.cs | 25 ++--
.../AirshipBindings.iOS.Automation.csproj | 2 +-
.../AirshipBindings.iOS.Basement.csproj | 2 +-
.../AirshipBindings.iOS.Core.csproj | 2 +-
.../StructsAndEnums.cs | 5 +-
.../AirshipBindings.iOS.MessageCenter.csproj | 2 +-
...gs.iOS.NotificationContentExtension.csproj | 2 +-
...gs.iOS.NotificationServiceExtension.csproj | 2 +-
...irshipBindings.iOS.PreferenceCenter.csproj | 2 +-
src/SharedAssemblyInfo.Common.cs | 2 +-
src/SharedAssemblyInfo.CrossPlatform.cs | 2 +-
src/SharedAssemblyInfo.iOS.cs | 2 +-
25 files changed, 148 insertions(+), 135 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 801cb7b8..253666fb 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -3,7 +3,7 @@ name: CI
on: [pull_request]
env:
- DEVELOPER_DIR: /Applications/Xcode_15.0.app
+ DEVELOPER_DIR: /Applications/Xcode_15.1.app
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_NOLOGO: 1
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 7fc45dce..3d162025 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -6,7 +6,7 @@ on:
- "[0-9]+.[0-9]+.[0-9]+*"
env:
- DEVELOPER_DIR: /Applications/Xcode_15.0.app
+ DEVELOPER_DIR: /Applications/Xcode_15.1.app
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_NOLOGO: 1
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3740e9c4..78fef251 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,16 +1,26 @@
# Airship DotNet Changelog
+## Version 19.1.0 - Jan 25, 2024
+Minor release that updates to Airship SDK to iOS 17.7.3 and Android 17.7.2, fixes an iOS custom event properties reporting issue, and Android contact subscription list editing. Apps that target iOS and make use of custom events or Android and make use of contact subscription editing should update.
+
+### Changes
+- Updated iOS SDK to 17.7.3
+- Updated Android SDK to 17.7.2
+- Fixed a bug that prevented custom event properties from being reported on iOS
+- Fixed contact subscription list updates (`EditContactSubscriptionLists`) on Android
+- Deprecated iOS `Trace` log level and add the replacement `Verbose` log level.
+
## Version 19.0.0 - Nov 21, 2023
Major release that updates the Airship bindings and cross-platform libraries to target .NET 8.0. The Airship .NET SDK now requires .NET 8.0 (`net8.0-android` and `net8.0-ios`) as the minimum target framework, and iOS 14+ as the minimum deployment version with Xcode 15+.
-## Changes
+### Changes
- Updated iOS SDK to 17.6.1
- Resolved build issues in Windows Visual Studio. Linked Mac builds are now working as expected.
## Version 18.0.0 - Nov 10, 2023
Major release that updates to Airship SDK 17.x. This release adds support for Stories, In-App experiences downstream of a sequence in Journeys, and improves SDK auth. The .NET SDK now requires .NET 7.0 (`net7.0-android` and `net7.0-ios`) as the minimum target framework, and iOS 14+ as the minimum deployment version with Xcode 14.3+.
-## Changes
+### Changes
- Updated iOS SDK to 17.6.0
- Updated Android SDK to 17.5.0
- Added the ability to update Channel and Contact subscriptions to the common .NET library
@@ -19,7 +29,7 @@ Major release that updates to Airship SDK 17.x. This release adds support for St
See the [Migration Guide](https://github.com/urbanairship/airship-dotnet/tree/main/MIGRATION.md) for further details.
-## Known Issues
+### Known Issues
Build/run via a linked Mac from Visual Studio on Windows is not currently working as expected. This appears to be a known issue and is expected to be fixed in the upcoming .NET 8 release. In our testing, this issue impacts other SDKs that make use of XCFrameworks, and is not limited to Airship SDKs. We will continue monitoring the situation and update with any new workarounds or fixes that become available.
Builds and runs performed directly on a Mac are not impacted by this issue.
diff --git a/Cartfile b/Cartfile
index 97dbad6a..97145c53 100644
--- a/Cartfile
+++ b/Cartfile
@@ -1 +1 @@
-github "urbanairship/ios-library" == 17.6.1
+github "urbanairship/ios-library" == 17.7.3
diff --git a/DEV_README.md b/DEV_README.md
index 63beb312..8a58dfb0 100644
--- a/DEV_README.md
+++ b/DEV_README.md
@@ -5,12 +5,12 @@
### Requirements
* Visual Studio for Mac ([stable](https://visualstudio.microsoft.com/vs/mac/) or [preview](https://visualstudio.microsoft.com/vs/mac/preview/))
-* A supported Xcode version (at the time of writing, VS 2022 supported Xcode 14.2)
+* A supported Xcode version (at the time of writing, VS 2022 recommends Xcode 15.1+)
* OpenJDK 11
* Using [Homebrew](https://brew.sh/): `brew install openjdk@11`
* Or [SDKMAN!](https://sdkman.io/): `sdk install java 11.0.18-zulu`
* Android SDK: API 31+ platform, emulator, build tools, command line tools, etc.
-* .NET6 SDK (install via VS)
+* .NET8 SDK (install via VS)
* .NET Workloads (install via VS): maui, android, ios
* Doxygen & Graphviz (`brew install doxygen graphviz`)
* Carthage (`brew install carthage`)
diff --git a/Directory.Build.props b/Directory.Build.props
index f960f63e..977d1ae5 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -5,15 +5,15 @@
- 17.5.0
- 17.5.0.1
+ 17.7.2
+ 17.7.2
- 17.6.1
- 17.6.1
+ 17.7.3
+ 17.7.3
- 19.0.0
- 19.0.0
+ 19.1.0
+ 19.1.0
diff --git a/MIGRATION.md b/MIGRATION.md
index c9cd6e29..58165062 100644
--- a/MIGRATION.md
+++ b/MIGRATION.md
@@ -1,19 +1,29 @@
# Migration Guide
-## 17.x to 18.x
+## 18.x to 19.x
### .NET Version
-This version of the plugin now requires .NET 7.0 (`net7.0-android` and `net7.0-ios`) as the min target framework.
+This version of the plugin now requires .NET 8.0 (`net8.0-android` and `net8.0-ios`) as the min target framework.
### Minimum iOS Version
-This version of the plugin now requires iOS 14+ as the min deployment target and Xcode 14.3+.
+This version of the plugin requires iOS 14+ as the min deployment target and Xcode 15+.
### iOS Log Levels
The `TRACE` level has been renamed to `VERBOSE`, for consistency with other platforms/frameworks.
+## 17.x to 18.x
+
+### .NET Version
+
+This version of the plugin now requires .NET 7.0 (`net7.0-android` and `net7.0-ios`) as the min target framework.
+
+### Minimum iOS Version
+
+This version of the plugin now requires iOS 14+ as the min deployment target and Xcode 14.3+.
+
### API Changes
#### Methods
diff --git a/MauiSample/MauiSample.csproj b/MauiSample/MauiSample.csproj
index 64f3292f..4fbfb704 100644
--- a/MauiSample/MauiSample.csproj
+++ b/MauiSample/MauiSample.csproj
@@ -33,6 +33,8 @@
Platforms\iOS\Entitlements.plist
None
false
+ iossimulator-x64
+ iossimulator-arm64
diff --git a/MauiSample/Platforms/iOS/AppDelegate.cs b/MauiSample/Platforms/iOS/AppDelegate.cs
index 6d2d4db7..7736680e 100644
--- a/MauiSample/Platforms/iOS/AppDelegate.cs
+++ b/MauiSample/Platforms/iOS/AppDelegate.cs
@@ -14,7 +14,7 @@ public override bool FinishedLaunching(UIApplication application, NSDictionary l
{
// Set log level for debugging config loading (optional)
// It will be set to the value in the loaded config upon takeOff
- UAirship.LogLevel = UALogLevel.Trace;
+ UAirship.LogLevel = UALogLevel.Verbose;
// Populate AirshipConfig.plist with your app's info from https://go.urbanairship.com
// or set runtime properties here.
diff --git a/airship.properties b/airship.properties
index 1af0784e..9c65235d 100644
--- a/airship.properties
+++ b/airship.properties
@@ -1,9 +1,9 @@
# Airship native SDK versions
-iosVersion = 17.6.1
-androidVersion = 17.5.0
+iosVersion = 17.7.3
+androidVersion = 17.7.2
# Airship.Net cross-platform version
-crossPlatformVersion = 19.0.0
+crossPlatformVersion = 19.1.0
# Filename of the iOS SDK zip file
iosFrameworkZip = Airship-Xcode15.zip
@@ -12,7 +12,7 @@ iosFrameworkZip = Airship-Xcode15.zip
# If > 0, the revision number will be added to the versions
# defined above as a 4th segment (i.e., MAJOR.MINOR.PATCH.REVISION).
# If = 0, NuGet packages will be versioned using standard 3-segment semver.
-androidRevision = 1
+androidRevision = 0
iosRevision = 0
crossPlatformRevision = 0
diff --git a/binderator/config.json b/binderator/config.json
index 14906f51..ef6d0814 100644
--- a/binderator/config.json
+++ b/binderator/config.json
@@ -17,72 +17,72 @@
{
"groupId": "com.urbanairship.android",
"artifactId": "urbanairship-adm",
- "version": "17.5.0",
- "nugetVersion": "17.5.0",
+ "version": "17.7.2",
+ "nugetVersion": "17.7.2",
"nugetId": "Airship.Net.Android.Adm",
"dependencyOnly": false
},
{
"groupId": "com.urbanairship.android",
"artifactId": "urbanairship-automation",
- "version": "17.5.0",
- "nugetVersion": "17.5.0",
+ "version": "17.7.2",
+ "nugetVersion": "17.7.2",
"nugetId": "Airship.Net.Android.Automation",
"dependencyOnly": false
},
{
"groupId": "com.urbanairship.android",
"artifactId": "urbanairship-core",
- "version": "17.5.0",
- "nugetVersion": "17.5.0",
+ "version": "17.7.2",
+ "nugetVersion": "17.7.2",
"nugetId": "Airship.Net.Android.Core",
"dependencyOnly": false
},
{
"groupId": "com.urbanairship.android",
"artifactId": "urbanairship-fcm",
- "version": "17.5.0",
- "nugetVersion": "17.5.0",
+ "version": "17.7.2",
+ "nugetVersion": "17.7.2",
"nugetId": "Airship.Net.Android.Fcm",
"dependencyOnly": false
},
{
"groupId": "com.urbanairship.android",
"artifactId": "urbanairship-feature-flag",
- "version": "17.5.0",
- "nugetVersion": "17.5.0",
+ "version": "17.7.2",
+ "nugetVersion": "17.7.2",
"nugetId": "Airship.Net.Android.FeatureFlag",
"dependencyOnly": false
},
{
"groupId": "com.urbanairship.android",
"artifactId": "urbanairship-layout",
- "version": "17.5.0",
- "nugetVersion": "17.5.0",
+ "version": "17.7.2",
+ "nugetVersion": "17.7.2",
"nugetId": "Airship.Net.Android.Layout",
"dependencyOnly": false
},
{
"groupId": "com.urbanairship.android",
"artifactId": "urbanairship-live-update",
- "version": "17.5.0",
- "nugetVersion": "17.5.0",
+ "version": "17.7.2",
+ "nugetVersion": "17.7.2",
"nugetId": "Airship.Net.Android.LiveUpdate",
"dependencyOnly": false
},
{
"groupId": "com.urbanairship.android",
"artifactId": "urbanairship-message-center",
- "version": "17.5.0",
- "nugetVersion": "17.5.0",
+ "version": "17.7.2",
+ "nugetVersion": "17.7.2",
"nugetId": "Airship.Net.Android.MessageCenter",
"dependencyOnly": false
},
{
"groupId": "com.urbanairship.android",
"artifactId": "urbanairship-preference-center",
- "version": "17.5.0",
- "nugetVersion": "17.5.0",
+ "version": "17.7.2",
+ "nugetVersion": "17.7.2",
"nugetId": "Airship.Net.Android.PreferenceCenter",
"dependencyOnly": false
},
diff --git a/binderator/source/com.urbanairship.android/urbanairship-automation/Transforms/Metadata.xml b/binderator/source/com.urbanairship.android/urbanairship-automation/Transforms/Metadata.xml
index 5319c771..c8fb9ec3 100644
--- a/binderator/source/com.urbanairship.android/urbanairship-automation/Transforms/Metadata.xml
+++ b/binderator/source/com.urbanairship.android/urbanairship-automation/Transforms/Metadata.xml
@@ -12,6 +12,8 @@
UrbanAirship.Iam.Tags
UrbanAirship.Iam.View
+ java.lang.Object
+
diff --git a/src/Airship.Net/Platforms/Android/Airship.cs b/src/Airship.Net/Platforms/Android/Airship.cs
index 93675117..161b3440 100644
--- a/src/Airship.Net/Platforms/Android/Airship.cs
+++ b/src/Airship.Net/Platforms/Android/Airship.cs
@@ -1,12 +1,12 @@
/* Copyright Airship and Contributors */
+using Com.Urbanairship.Contacts;
using Java.Util;
using Java.Util.Concurrent;
using UrbanAirship;
using UrbanAirship.Automation;
using UrbanAirship.Actions;
using UrbanAirship.Channel;
-//using Urbanairship.Contacts;
using UrbanAirship.MessageCenter;
using UrbanAirship.Push;
using AttributeEditor = AirshipDotNet.Attributes.AttributeEditor;
@@ -254,12 +254,12 @@ public void AddCustomEvent(Analytics.CustomEvent customEvent)
{
foreach (dynamic property in customEvent.PropertyList)
{
- if (string.IsNullOrEmpty(property.name))
+ if (string.IsNullOrEmpty(property.Name))
{
continue;
}
- builder.AddProperty(property.name, property.value);
+ builder.AddProperty(property.Name, property.Value);
}
}
@@ -322,7 +322,7 @@ public void InboxMessages(Action> listMessages)
listMessages(messagesList);
}
- private Date FromDateTime(DateTime dateTime)
+ private Date FromDateTime(DateTime? dateTime)
{
if (dateTime == null)
{
@@ -332,7 +332,7 @@ private Date FromDateTime(DateTime dateTime)
return new Date(epochSeconds * 1000);
}
- private static DateTime? FromDate(Date date)
+ private static DateTime? FromDate(Date? date)
{
if (date == null)
{
@@ -344,7 +344,7 @@ private Date FromDateTime(DateTime dateTime)
public Channel.TagGroupsEditor EditContactTagGroups()
{
- return new Channel.TagGroupsEditor((List payload) =>
+ return new Channel.TagGroupsEditor(payload =>
{
var editor = UAirship.Shared().Contact.EditTagGroups();
TagGroupHelper(payload, editor);
@@ -354,7 +354,7 @@ public Channel.TagGroupsEditor EditContactTagGroups()
public Channel.TagGroupsEditor EditChannelTagGroups()
{
- return new Channel.TagGroupsEditor((List payload) =>
+ return new Channel.TagGroupsEditor( payload =>
{
var editor = UAirship.Shared().Channel.EditTagGroups();
TagGroupHelper(payload, editor);
@@ -365,16 +365,15 @@ public Channel.TagGroupsEditor EditChannelTagGroups()
public AttributeEditor EditAttributes() => EditChannelAttributes();
public AttributeEditor EditChannelAttributes() =>
- new((List operations) =>
+ new(operations =>
{
var editor = UAirship.Shared().Channel.EditAttributes();
ApplyAttributesOperations(editor, operations);
editor.Apply();
});
- ///
public AttributeEditor EditContactAttributes() =>
- new((List operations) =>
+ new(operations =>
{
var editor = UAirship.Shared().Contact.EditAttributes();
ApplyAttributesOperations(editor, operations);
@@ -383,7 +382,7 @@ public AttributeEditor EditContactAttributes() =>
public ChannelSubscriptionListEditor EditChannelSubscriptionLists()
{
- return new Channel.SubscriptionListEditor((List payload) =>
+ return new ChannelSubscriptionListEditor(payload =>
{
var editor = UAirship.Shared().Channel.EditSubscriptionLists();
ApplyChannelSubscriptionListHelper(payload, editor);
@@ -393,11 +392,11 @@ public ChannelSubscriptionListEditor EditChannelSubscriptionLists()
public ContactSubscriptionListEditor EditContactSubscriptionLists()
{
- return new Contact.SubscriptionListEditor((List payload) =>
+ return new ContactSubscriptionListEditor(payload =>
{
- //var editor = UAirship.Shared().Contact.EditSubscriptionLists();
- ApplyContactSubscriptionListHelper(payload);
- //editor.Apply();
+ var editor = UAirship.Shared().Contact.EditSubscriptionLists();
+ ApplyContactSubscriptionListHelper(payload, editor);
+ editor.Apply();
});
}
@@ -445,9 +444,8 @@ private void ApplyAttributesOperations(UrbanAirship.Channel.AttributeEditor edit
private static void TagGroupHelper(List payload, TagGroupsEditor editor)
{
- foreach (Channel.TagGroupsEditor.TagOperation tagOperation in payload)
+ foreach (var tagOperation in payload)
{
-
switch (tagOperation.operationType)
{
case Channel.TagGroupsEditor.OperationType.ADD:
@@ -459,91 +457,80 @@ private static void TagGroupHelper(List pa
case Channel.TagGroupsEditor.OperationType.SET:
editor.SetTags(tagOperation.group, tagOperation.tags);
break;
- default:
- break;
}
}
}
- private void ApplyChannelSubscriptionListHelper(List operations, UrbanAirship.Channel.SubscriptionListEditor editor)
+ private void ApplyChannelSubscriptionListHelper(List operations, UrbanAirship.Channel.SubscriptionListEditor editor)
{
- foreach (Channel.SubscriptionListEditor.SubscriptionListOperation operation in operations)
+ foreach (var operation in operations)
{
- if (!Enum.IsDefined(typeof(Channel.SubscriptionListEditor.OperationType), operation.OperationType))
+ if (!Enum.IsDefined(typeof(ChannelSubscriptionListEditor.OperationType), operation.OperationType))
{
continue;
}
switch (operation.OperationType)
{
- case Channel.SubscriptionListEditor.OperationType.SUBSCRIBE:
+ case ChannelSubscriptionListEditor.OperationType.SUBSCRIBE:
editor.Subscribe(operation.List);
break;
- case Channel.SubscriptionListEditor.OperationType.UNSUBSCRIBE:
+ case ChannelSubscriptionListEditor.OperationType.UNSUBSCRIBE:
editor.Unsubscribe(operation.List);
break;
}
}
}
- // FIXME:
- //private void ApplyContactSubscriptionListHelper(List operations, ScopedSubscriptionListEditor editor)
- private void ApplyContactSubscriptionListHelper(List operations)
+ private void ApplyContactSubscriptionListHelper(List operations, ScopedSubscriptionListEditor editor)
{
-
- foreach (Contact.SubscriptionListEditor.SubscriptionListOperation operation in operations)
+ foreach (var operation in operations)
{
- if (!Enum.IsDefined(typeof(Contact.SubscriptionListEditor.OperationType), operation.OperationType))
+ if (!Enum.IsDefined(typeof(ContactSubscriptionListEditor.OperationType), operation.OperationType))
{
continue;
}
- //string scope = operation.scope;
- //string[] scopes = { "app", "web", "email", "sms" };
- //if (scopes.Any(scope.Contains))
- //{
- // Scope channelScope = Scope.App;
- // if (operation.Scope == "app")
- // {
- // channelScope = Scope.App;
- // }
- // else if (operation.scope == "web")
- // {
- // channelScope = Scope.Web;
- // }
- // else if (operation.Scope == "email")
- // {
- // channelScope = Scope.Email;
- // }
- // else if (operation.Scope == "sms")
- // {
- // channelScope = Scope.Sms;
- // }
-
- // switch (operation.OperationType)
- // {
- // case Contact.SubscriptionListEditor.OperationType.SUBSCRIBE:
- // editor.Subscribe(operation.List, channelScope);
- // break;
- // case Contact.SubscriptionListEditor.OperationType.UNSUBSCRIBE:
- // editor.Unsubscribe(operation.List, channelScope);
- // break;
- // }
- //}
+ string scope = operation.Scope;
+ string[] scopes = { "app", "web", "email", "sms" };
+ if (scopes.Contains(scope))
+ {
+ Scope channelScope = Scope.App;
+
+ if (operation.Scope == "app")
+ {
+ channelScope = Scope.App;
+ }
+ else if (operation.Scope == "web")
+ {
+ channelScope = Scope.Web;
+ }
+ else if (operation.Scope == "email")
+ {
+ channelScope = Scope.Email;
+ }
+ else if (operation.Scope == "sms")
+ {
+ channelScope = Scope.Sms;
+ }
+
+ switch (operation.OperationType)
+ {
+ case Contact.SubscriptionListEditor.OperationType.SUBSCRIBE:
+ editor.Subscribe(operation.List, channelScope);
+ break;
+ case Contact.SubscriptionListEditor.OperationType.UNSUBSCRIBE:
+ editor.Unsubscribe(operation.List, channelScope);
+ break;
+ }
+ }
}
}
public bool InAppAutomationEnabled
{
- get
- {
- return InAppAutomation.Shared().Enabled;
- }
-
- set
- {
- InAppAutomation.Shared().Enabled = value;
- }
+ get => InAppAutomation.Shared().Enabled;
+ set => InAppAutomation.Shared().Enabled = value;
}
public bool InAppAutomationPaused
diff --git a/src/Airship.Net/Platforms/iOS/Airship.cs b/src/Airship.Net/Platforms/iOS/Airship.cs
index cbc40198..b8bf0bdd 100644
--- a/src/Airship.Net/Platforms/iOS/Airship.cs
+++ b/src/Airship.Net/Platforms/iOS/Airship.cs
@@ -262,13 +262,13 @@ public void AddCustomEvent(CustomEvent customEvent)
NSMutableDictionary propertyDictionary = new();
foreach (dynamic property in customEvent.PropertyList)
{
- if (string.IsNullOrEmpty(property.name))
+ if (string.IsNullOrEmpty(property.Name))
{
continue;
}
- NSString key = (NSString)property.name;
- NSObject value = NSObject.FromObject(property.value);
+ NSString key = (NSString)property.Name;
+ NSObject value = NSObject.FromObject(property.Value);
if (property is CustomEvent.Property stringArrayProperty)
{
@@ -283,8 +283,7 @@ public void AddCustomEvent(CustomEvent customEvent)
}
if (propertyDictionary.Count > 0)
{
- //TODO:
- //uaEvent.Properties = new NSDictionary(propertyDictionary.Keys, propertyDictionary.Values);
+ uaEvent.Properties = new NSDictionary(propertyDictionary.Keys, propertyDictionary.Values);
}
}
@@ -391,7 +390,7 @@ public void InboxMessages(Action> listMessages)
public Channel.TagGroupsEditor EditChannelTagGroups()
{
- return new((List payload) =>
+ return new(payload =>
{
ChannelTagGroupHelper(payload, () =>
{
@@ -402,7 +401,7 @@ public Channel.TagGroupsEditor EditChannelTagGroups()
public Channel.TagGroupsEditor EditContactTagGroups()
{
- return new((List payload) =>
+ return new(payload =>
{
ContactTagGroupHelper(payload);
});
@@ -413,7 +412,7 @@ public Channel.TagGroupsEditor EditContactTagGroups()
public AttributeEditor EditChannelAttributes()
{
- return new((List operations) =>
+ return new(operations =>
{
ApplyChannelAttributesOperations(operations);
});
@@ -421,7 +420,7 @@ public AttributeEditor EditChannelAttributes()
public AttributeEditor EditContactAttributes()
{
- return new((List operations) =>
+ return new(operations =>
{
ApplyContactAttributesOperations(operations);
});
@@ -430,7 +429,7 @@ public AttributeEditor EditContactAttributes()
public Channel.SubscriptionListEditor EditChannelSubscriptionLists()
{
- return new Channel.SubscriptionListEditor((List payload) =>
+ return new Channel.SubscriptionListEditor(payload =>
{
ApplyChannelSubscriptionListHelper(payload);
});
@@ -438,7 +437,7 @@ public Channel.SubscriptionListEditor EditChannelSubscriptionLists()
public Contact.SubscriptionListEditor EditContactSubscriptionLists()
{
- return new Contact.SubscriptionListEditor((List payload) =>
+ return new Contact.SubscriptionListEditor(payload =>
{
ApplyContactSubscriptionListHelper(payload);
});
@@ -597,7 +596,7 @@ private void ApplyChannelSubscriptionListHelper(List
{
- foreach (Channel.SubscriptionListEditor.SubscriptionListOperation operation in operations)
+ foreach (var operation in operations)
{
if (!Enum.IsDefined(typeof(Channel.SubscriptionListEditor.OperationType), operation.OperationType))
{
@@ -624,7 +623,7 @@ private void ApplyContactSubscriptionListHelper(List
{
- foreach (Contact.SubscriptionListEditor.SubscriptionListOperation operation in operations)
+ foreach (var operation in operations)
{
if (!Enum.IsDefined(typeof(Contact.SubscriptionListEditor.OperationType), operation.OperationType))
{
diff --git a/src/AirshipBindings.iOS.Automation/AirshipBindings.iOS.Automation.csproj b/src/AirshipBindings.iOS.Automation/AirshipBindings.iOS.Automation.csproj
index 73e525a6..5cbd1ed8 100644
--- a/src/AirshipBindings.iOS.Automation/AirshipBindings.iOS.Automation.csproj
+++ b/src/AirshipBindings.iOS.Automation/AirshipBindings.iOS.Automation.csproj
@@ -11,7 +11,7 @@
Airship.Net.iOS.Automation
Airship iOS SDK - Automation
Automation support for Airship SDK
- net7.0-ios
+ net8.0-ios
enable
true
true
diff --git a/src/AirshipBindings.iOS.Basement/AirshipBindings.iOS.Basement.csproj b/src/AirshipBindings.iOS.Basement/AirshipBindings.iOS.Basement.csproj
index 174a8624..19ac884a 100644
--- a/src/AirshipBindings.iOS.Basement/AirshipBindings.iOS.Basement.csproj
+++ b/src/AirshipBindings.iOS.Basement/AirshipBindings.iOS.Basement.csproj
@@ -11,7 +11,7 @@
Airship.Net.iOS.Basement
Airship iOS SDK - Basement
Basement module for Airship SDK
- net7.0-ios
+ net8.0-ios
enable
true
true
diff --git a/src/AirshipBindings.iOS.Core/AirshipBindings.iOS.Core.csproj b/src/AirshipBindings.iOS.Core/AirshipBindings.iOS.Core.csproj
index ae1bc3b6..a3aae8f8 100644
--- a/src/AirshipBindings.iOS.Core/AirshipBindings.iOS.Core.csproj
+++ b/src/AirshipBindings.iOS.Core/AirshipBindings.iOS.Core.csproj
@@ -9,7 +9,7 @@
Airship.Net.iOS.Core
Airship iOS SDK - Core
Core of Airship SDK
- net7.0-ios
+ net8.0-ios
enable
true
true
diff --git a/src/AirshipBindings.iOS.Core/StructsAndEnums.cs b/src/AirshipBindings.iOS.Core/StructsAndEnums.cs
index 57e6dffd..5072d3b5 100644
--- a/src/AirshipBindings.iOS.Core/StructsAndEnums.cs
+++ b/src/AirshipBindings.iOS.Core/StructsAndEnums.cs
@@ -2,6 +2,7 @@
Copyright Airship and Contributors
*/
+using System;
using ObjCRuntime;
namespace UrbanAirship
@@ -48,7 +49,9 @@ public enum UALogLevel : long
Warn = 2,
Info = 3,
Debug = 4,
- Trace = 5
+ [Obsolete("Use Verbose instead. Trace will be removed in a future release.")]
+ Trace = 5,
+ Verbose = 5
}
[Native]
diff --git a/src/AirshipBindings.iOS.MessageCenter/AirshipBindings.iOS.MessageCenter.csproj b/src/AirshipBindings.iOS.MessageCenter/AirshipBindings.iOS.MessageCenter.csproj
index aac6ceae..acd562b7 100644
--- a/src/AirshipBindings.iOS.MessageCenter/AirshipBindings.iOS.MessageCenter.csproj
+++ b/src/AirshipBindings.iOS.MessageCenter/AirshipBindings.iOS.MessageCenter.csproj
@@ -11,7 +11,7 @@
Airship.Net.iOS.MessageCenter
Airship iOS SDK - MessageCenter
Message Center support for the Airship SDK
- net7.0-ios
+ net8.0-ios
enable
true
true
diff --git a/src/AirshipBindings.iOS.NotificationContentExtension/AirshipBindings.iOS.NotificationContentExtension.csproj b/src/AirshipBindings.iOS.NotificationContentExtension/AirshipBindings.iOS.NotificationContentExtension.csproj
index a1f66bb4..30e46626 100644
--- a/src/AirshipBindings.iOS.NotificationContentExtension/AirshipBindings.iOS.NotificationContentExtension.csproj
+++ b/src/AirshipBindings.iOS.NotificationContentExtension/AirshipBindings.iOS.NotificationContentExtension.csproj
@@ -9,7 +9,7 @@
Airship.Net.iOS.NotificationContentExtension
Airship iOS SDK - Notification Content Extension
Notification content extension support for Airship SDK
- net7.0-ios
+ net8.0-ios
true
enable
false
diff --git a/src/AirshipBindings.iOS.NotificationServiceExtension/AirshipBindings.iOS.NotificationServiceExtension.csproj b/src/AirshipBindings.iOS.NotificationServiceExtension/AirshipBindings.iOS.NotificationServiceExtension.csproj
index 10b6ebd4..3952e2b1 100644
--- a/src/AirshipBindings.iOS.NotificationServiceExtension/AirshipBindings.iOS.NotificationServiceExtension.csproj
+++ b/src/AirshipBindings.iOS.NotificationServiceExtension/AirshipBindings.iOS.NotificationServiceExtension.csproj
@@ -9,7 +9,7 @@
Airship.Net.iOS.NotificationServiceExtension
Airship iOS SDK - Notification Service Extension
Notification service extension support for Airship SDK
- net7.0-ios
+ net8.0-ios
enable
true
true
diff --git a/src/AirshipBindings.iOS.PreferenceCenter/AirshipBindings.iOS.PreferenceCenter.csproj b/src/AirshipBindings.iOS.PreferenceCenter/AirshipBindings.iOS.PreferenceCenter.csproj
index 7ca1ab86..3ac78312 100644
--- a/src/AirshipBindings.iOS.PreferenceCenter/AirshipBindings.iOS.PreferenceCenter.csproj
+++ b/src/AirshipBindings.iOS.PreferenceCenter/AirshipBindings.iOS.PreferenceCenter.csproj
@@ -9,7 +9,7 @@
Airship.Net.iOS.PreferenceCenter
Airship iOS SDK - Preference Center
Preference Center support for Airship SDK
- net7.0-ios
+ net8.0-ios
true
enable
true
diff --git a/src/SharedAssemblyInfo.Common.cs b/src/SharedAssemblyInfo.Common.cs
index 863199ee..738615d9 100644
--- a/src/SharedAssemblyInfo.Common.cs
+++ b/src/SharedAssemblyInfo.Common.cs
@@ -6,4 +6,4 @@
// Change them to the values specific to your project.
// Cross-platform version of the plugin
-[assembly: UACrossPlatformVersion ("19.0.0")]
+[assembly: UACrossPlatformVersion ("19.1.0")]
diff --git a/src/SharedAssemblyInfo.CrossPlatform.cs b/src/SharedAssemblyInfo.CrossPlatform.cs
index e76bf22f..1f1e4093 100644
--- a/src/SharedAssemblyInfo.CrossPlatform.cs
+++ b/src/SharedAssemblyInfo.CrossPlatform.cs
@@ -12,5 +12,5 @@
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-[assembly: AssemblyVersion ("19.0.0")]
+[assembly: AssemblyVersion ("19.1.0")]
diff --git a/src/SharedAssemblyInfo.iOS.cs b/src/SharedAssemblyInfo.iOS.cs
index b017d271..7560a646 100644
--- a/src/SharedAssemblyInfo.iOS.cs
+++ b/src/SharedAssemblyInfo.iOS.cs
@@ -17,4 +17,4 @@
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-[assembly: AssemblyVersion ("19.0.0")]
+[assembly: AssemblyVersion ("19.1.0")]