urbanairship / ios-library

Urban Airship iOS SDK
http://urbanairship.com
Apache License 2.0
478 stars 265 forks source link

Minimum deployment target warnings from XIB files #339

Closed mnespor closed 1 year ago

mnespor commented 2 years ago

Preliminary Info

What Airship dependencies are you using?

Airship 16.9.3 airship_flutter 6.1.0

What are the versions of any relevant development tools you are using?

Xcode 13.4.1 cocoapods 1.11.3

Report

I'd like to file a duplicate of #289 for tracking purposes please. That ticket was closed by the fellow who filed it, but the warnings remain reproducible.

What unexpected behavior are you seeing?

Projects with a deployment target of iOS 14 or newer see the following warnings:

UAInAppMessageHTMLViewController.xib:global: warning: This file is set to build for a version older than the deployment target. Functionality may be limited. [9]
UADefaultMessageCenterMessageViewController.xib:global: warning: This file is set to build for a version older than the deployment target. Functionality may be limited. [9]

What is the expected behavior?

No compiler warnings

What are the steps to reproduce the unexpected behavior?

  1. Create a new project with deployment target iOS 14 or newer
  2. Integrate Airship via cocoapods
  3. Build the project

Do you have logging for the issue?

None

rlepinski commented 2 years ago

This has to do with apps that want to target an older iOS version than 11 by optionally including Airship. We will see if we can find a workaround for this.

mnespor commented 2 years ago

@rlepinski Thanks, though that might not be necessary? I heard a rumor that there might already be work underway to replace xibs with code in an upcoming release, which would fix the warnings as a side effect.

rlepinski commented 2 years ago

@mnespor In SDK 17, we will have MessageCenter and PreferenceCenter rewritten in SwiftUI but we probably won't be able to get to the Automation module with the older IAA views (xibs) this time around. If thats the case we will see about finding a workaround for the webview reference. I am pretty sure we can just have a stub view that we swap out but I don't remember the exact details of the issue.

kpmaalej commented 1 year ago

Do you still have many clients that support an iOS older than 11? Since Xcode itself does not support older iOS versions since version 14, and Xcode 14 is soon going to be mandatory to release on the App Store, perhaps you can also drop this workaround and use the Deployment Target? https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes (§Deprecations)

rlepinski commented 1 year ago

@kpmaalej We are doing that in SDK 17, hopefully will drop today.

rlepinski commented 1 year ago

Fixed in 17.0.0