Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MOBILE-4102] Fix iOS custom event properties, Android contact subscriptions editing, etc #11

Merged
merged 10 commits into from
Jan 31, 2024
2 changes: 1 addition & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
16 changes: 13 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion Cartfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
github "urbanairship/ios-library" == 17.6.1
github "urbanairship/ios-library" == 17.7.3
4 changes: 2 additions & 2 deletions DEV_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`)
Expand Down
12 changes: 6 additions & 6 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
<!-- Versions -->
<PropertyGroup>
<!-- Airship native SDK versions -->
<AirshipAndroidVersion>17.5.0</AirshipAndroidVersion>
<AirshipAndroidNugetVersion>17.5.0.1</AirshipAndroidNugetVersion>
<AirshipAndroidVersion>17.7.2</AirshipAndroidVersion>
<AirshipAndroidNugetVersion>17.7.2</AirshipAndroidNugetVersion>

<AirshipIosVersion>17.6.1</AirshipIosVersion>
<AirshipIosNugetVersion>17.6.1</AirshipIosNugetVersion>
<AirshipIosVersion>17.7.3</AirshipIosVersion>
<AirshipIosNugetVersion>17.7.3</AirshipIosNugetVersion>

<!-- Airship.Net version -->
<AirshipCrossPlatformVersion>19.0.0</AirshipCrossPlatformVersion>
<AirshipCrossPlatformNugetVersion>19.0.0</AirshipCrossPlatformNugetVersion>
<AirshipCrossPlatformVersion>19.1.0</AirshipCrossPlatformVersion>
<AirshipCrossPlatformNugetVersion>19.1.0</AirshipCrossPlatformNugetVersion>
</PropertyGroup>

<!-- Nuget packaging metadata -->
Expand Down
16 changes: 13 additions & 3 deletions MIGRATION.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 2 additions & 0 deletions MauiSample/MauiSample.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@
<CodesignEntitlements>Platforms\iOS\Entitlements.plist</CodesignEntitlements>
<MtouchLink>None</MtouchLink>
<CreatePackage>false</CreatePackage>
<RuntimeIdentifier Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' != 'arm64'">iossimulator-x64</RuntimeIdentifier>
<RuntimeIdentifier Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'arm64'">iossimulator-arm64</RuntimeIdentifier>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)'=='Release|net8.0-ios'">
Expand Down
2 changes: 1 addition & 1 deletion MauiSample/Platforms/iOS/AppDelegate.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
8 changes: 4 additions & 4 deletions airship.properties
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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

36 changes: 18 additions & 18 deletions binderator/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -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
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
<attr path="/api/package[@name='com.urbanairship.iam.tags']" name="managedName">UrbanAirship.Iam.Tags</attr>
<attr path="/api/package[@name='com.urbanairship.iam.view']" name="managedName">UrbanAirship.Iam.View</attr>

<attr path="/api/package[@name='com.urbanairship.automation.limits.storage']/class[@name='OccurrenceEntity.Comparator']/method[@name='compare']/parameter[@type='com.urbanairship.automation.limits.storage.OccurrenceEntity']" name="type">java.lang.Object</attr>

<!-- Remove ActionScheduleEdits and ActionScheduleInfo data getters-->
<remove-node path="/api/package[@name='com.urbanairship.automation']/interface[@name='ScheduleEdits']/method[@name='getData']" />
<remove-node path="/api/package[@name='com.urbanairship.automation']/interface[@name='ScheduleInfo']/method[@name='getData']" />
Expand Down
Loading
Loading