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

SDL 0312 update minimum required iOS version to 10 #1759

Merged
merged 106 commits into from
Sep 18, 2020

Conversation

NicoleYarroch
Copy link
Contributor

@NicoleYarroch NicoleYarroch commented Aug 27, 2020

Fixes #1738, #1502

This PR is ready for review.

Risk

This PR makes major API changes.

Testing Plan

  • I have verified that I have not introduced new warnings in this PR (or explain why below)
  • I have run the unit tests with this PR
  • I have tested this PR against Core and verified behavior (if applicable, if not applicable, explain why below).

Unit Tests

  • Unit tests were updated to remove tests covering removed deprecated code.

Core Tests

  • Tested the library's Obj-C and Swift example apps with Manticore.
  • Tested the library with a navigation SDL app.
  • Tested installing the library using Carthage and checked for warnings.
  • Tested installing the library using CocoaPods and checked for warnings.
    • If installing using CocoaPods, the user needs to install using a post-install hook that sets the deployment target to 10.0. Otherwise warnings like 'dispatch_queue_create_with_target' is only available on iOS 10.0 or newer will show up in the project.

      post_install do |installer|
        installer.pods_project.targets.each do |target|
          target.build_configurations.each do |config|
            config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0'
          end
        end
      end
      

Core version / branch / commit hash / module tested against: Manticore (SDL Core v6.1.1)
HMI name / version / branch / commit hash / module tested against: Manticore (Generic HMI v0.8.1)

Summary

  • Updated the minimum supported iOS deployment version from iOS 8.0 to iOS 10.0.
  • Fixed iOS API deprecation warnings as a result of updated the minimum supported iOS deployment version.
    • In the SDLLifecycleSystemRequestHandler class, deprecated openURL(_:) was replaced with open(_:options:completionHandler:).
    • In the SDLFocusableItemLocator class, deprecated preferredFocusedView was replaced with preferredFocusEnvironments.
    • The SDLLogTargetAppleSystemLog class was deprecated as it uses the deprecated asl_log_message API.
  • Removed API availability checks for iOS versions less than 10.0.
  • Removed deprecated API.
    • Removed deprecated inits in RPC requests and responses.
    • Removed deprecated API in the SDLPermissionManager.
    • Deleted deprecated SDLSyncMsgVersion class as it has been replaced by SDLMsgVersion.
    • Made the deprecated lock screen classes (SDLLockScreenStatus and SDLOnLockScreenStatus) private.
  • Fixed the SDLServiceUpdateReason enum names.
  • Deprecated some API that was missed during previous releases
    • Deprecated the SDLDisplayType enum.
    • Deprecated API in SDLSeatControlData using the deprecated SDLSupportedSeat enum. Added a new init that sets all non-deprecated parameters.
    • Deprecated constants in SDLPermissionConstants that are no longer used in the library but were not yet deprecated.

Changelog

Breaking Changes
  • Updated the minimum supported iOS deployment version from iOS 8.0 to iOS 10.0.
  • Removed deprecated API.
  • Fixed the SDLServiceUpdateReason enum names.

Tasks Remaining:

  • Remove API availability checks from the example apps
  • Check for deprecated code in the example apps

CLA

Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Removed deprecations and fixed tests

Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Added missing tests

Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Added missing tests

Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Fixed tests

Signed-off-by: NicoleYarroch <nicole@livio.io>
Fixed tests

Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Fixed test cases

Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
NicoleYarroch and others added 10 commits September 15, 2020 12:05
Co-authored-by: Joel Fischer <joeljfischer@gmail.com>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Fixed how the short app id is generated.

Signed-off-by: NicoleYarroch <nicole@livio.io>
Copy link
Contributor

@joeljfischer joeljfischer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SDLNotificationName has an iOS 9 shim to solve an issue with NSNotificationName not existing that can be removed.

SDL_SWIFT_ENUM may also be able to be removed (it appears to be an iOS 8 shim).

Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Replace the `SDL_SWIFT_ENUM` macro with `NS_TYPED_ENUM`

Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
Signed-off-by: NicoleYarroch <nicole@livio.io>
NicoleYarroch and others added 3 commits September 18, 2020 09:29
Co-authored-by: Joel Fischer <joeljfischer@gmail.com>
…ion_to_10

Signed-off-by: NicoleYarroch <nicole@livio.io>

# Conflicts:
#	SmartDeviceLink/public/SDLSetGlobalProperties.h
#	SmartDeviceLink/public/SDLSetGlobalProperties.m
#	SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetGlobalPropertiesSpec.m
Signed-off-by: NicoleYarroch <nicole@livio.io>
@joeljfischer joeljfischer merged commit 1b030c1 into develop Sep 18, 2020
@joeljfischer joeljfischer deleted the feature/0312_update_min_required_iOS_version_to_10 branch September 18, 2020 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposal Accepted SDL Evolution Proposal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants