Skip to content

Commit

Permalink
Merge branch 'release/5.0.0'
Browse files Browse the repository at this point in the history
# Conflicts:
#	README.md
#	SmartDeviceLink-iOS.podspec
#	SmartDeviceLink-iOS.xcodeproj/project.pbxproj
#	SmartDeviceLink.podspec
#	SmartDeviceLink/Assets/Base.lproj/SDLLockScreen.storyboard
#	SmartDeviceLink/Info.plist
#	SmartDeviceLink/SDLFunctionID.m
#	SmartDeviceLink/SDLHapticRect.h
#	SmartDeviceLink/SDLHapticRect.m
#	SmartDeviceLink/SDLIAPTransport.m
#	SmartDeviceLink/SDLMetadataTags.h
#	SmartDeviceLink/SDLMetadataTags.m
#	SmartDeviceLink/SDLMetadataType.h
#	SmartDeviceLink/SDLMetadataType.m
#	SmartDeviceLink/SDLNames.h
#	SmartDeviceLink/SDLProtocol.m
#	SmartDeviceLink/SDLProxy.m
#	SmartDeviceLink/SDLRectangle.h
#	SmartDeviceLink/SDLRectangle.m
#	SmartDeviceLink/SDLSendHapticData.h
#	SmartDeviceLink/SDLSendHapticData.m
#	SmartDeviceLink/SDLSendHapticDataResponse.h
#	SmartDeviceLink/SDLSendHapticDataResponse.m
#	SmartDeviceLink/SDLShow.h
#	SmartDeviceLink/SDLShow.m
#	SmartDeviceLink/SDLStreamingMediaManager.h
#	SmartDeviceLink/SDLTimer.m
#	SmartDeviceLink/SDLVideoStreamingCapability.h
#	SmartDeviceLink/SDLVideoStreamingCapability.m
#	SmartDeviceLink/SmartDeviceLink.h
#	SmartDeviceLinkTests/ProtocolSpecs/SDLFunctionIDSpec.m
#	SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLMetadataTypeSpec.m
#	SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendHapticDataSpec.m
#	SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowSpec.m
#	SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSendHapticDataResponseSpec.m
#	SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHapticRectSpec.m
#	SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMetadataTagsSpec.m
#	SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRectangleSpec.m
#	SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSystemCapabilitySpec.m
#	SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m
#	SmartDeviceLink_Example/Info.plist
#	docs/Categories.html
#	docs/Classes.html
#	docs/Classes/SDLAbstractProtocol.html
#	docs/Classes/SDLAddCommand.html
#	docs/Classes/SDLAddCommandResponse.html
#	docs/Classes/SDLAddSubMenu.html
#	docs/Classes/SDLAddSubMenuResponse.html
#	docs/Classes/SDLAlert.html
#	docs/Classes/SDLAlertManeuver.html
#	docs/Classes/SDLAlertManeuverResponse.html
#	docs/Classes/SDLAlertResponse.html
#	docs/Classes/SDLAmbientLightStatus.html
#	docs/Classes/SDLAppHMIType.html
#	docs/Classes/SDLAppInterfaceUnregisteredReason.html
#	docs/Classes/SDLArtwork.html
#	docs/Classes/SDLAudioPassThruCapabilities.html
#	docs/Classes/SDLAudioStreamingState.html
#	docs/Classes/SDLAudioType.html
#	docs/Classes/SDLBitsPerSample.html
#	docs/Classes/SDLBodyInformation.html
#	docs/Classes/SDLButtonCapabilities.html
#	docs/Classes/SDLButtonEventMode.html
#	docs/Classes/SDLButtonName.html
#	docs/Classes/SDLButtonPressMode.html
#	docs/Classes/SDLCarModeStatus.html
#	docs/Classes/SDLChangeRegistration.html
#	docs/Classes/SDLChangeRegistrationResponse.html
#	docs/Classes/SDLCharacterSet.html
#	docs/Classes/SDLChoice.html
#	docs/Classes/SDLCompassDirection.html
#	docs/Classes/SDLComponentVolumeStatus.html
#	docs/Classes/SDLConfiguration.html
#	docs/Classes/SDLCreateInteractionChoiceSet.html
#	docs/Classes/SDLCreateInteractionChoiceSetResponse.html
#	docs/Classes/SDLDateTime.html
#	docs/Classes/SDLDeleteCommand.html
#	docs/Classes/SDLDeleteCommandResponse.html
#	docs/Classes/SDLDeleteFile.html
#	docs/Classes/SDLDeleteFileResponse.html
#	docs/Classes/SDLDeleteInteractionChoiceSet.html
#	docs/Classes/SDLDeleteInteractionChoiceSetResponse.html
#	docs/Classes/SDLDeleteSubMenu.html
#	docs/Classes/SDLDeleteSubMenuResponse.html
#	docs/Classes/SDLDeliveryMode.html
#	docs/Classes/SDLDeviceLevelStatus.html
#	docs/Classes/SDLDeviceStatus.html
#	docs/Classes/SDLDiagnosticMessage.html
#	docs/Classes/SDLDiagnosticMessageResponse.html
#	docs/Classes/SDLDialNumber.html
#	docs/Classes/SDLDialNumberResponse.html
#	docs/Classes/SDLDimension.html
#	docs/Classes/SDLDisplayCapabilities.html
#	docs/Classes/SDLDisplayType.html
#	docs/Classes/SDLDriverDistractionState.html
#	docs/Classes/SDLECallConfirmationStatus.html
#	docs/Classes/SDLEmergencyEventType.html
#	docs/Classes/SDLEndAudioPassThru.html
#	docs/Classes/SDLEndAudioPassThruResponse.html
#	docs/Classes/SDLFileManager.html
#	docs/Classes/SDLFileType.html
#	docs/Classes/SDLFuelCutoffStatus.html
#	docs/Classes/SDLGPSData.html
#	docs/Classes/SDLGenericResponse.html
#	docs/Classes/SDLGetDTCs.html
#	docs/Classes/SDLGetDTCsResponse.html
#	docs/Classes/SDLGetSystemCapability.html
#	docs/Classes/SDLGetSystemCapabilityResponse.html
#	docs/Classes/SDLGetVehicleData.html
#	docs/Classes/SDLGetVehicleDataResponse.html
#	docs/Classes/SDLGlobalProperty.html
#	docs/Classes/SDLHMILevel.html
#	docs/Classes/SDLHMIPermissions.html
#	docs/Classes/SDLHMIZoneCapabilities.html
#	docs/Classes/SDLHapticRect.html
#	docs/Classes/SDLHeadLampStatus.html
#	docs/Classes/SDLIgnitionStableStatus.html
#	docs/Classes/SDLIgnitionStatus.html
#	docs/Classes/SDLImage.html
#	docs/Classes/SDLImageFieldName.html
#	docs/Classes/SDLImageType.html
#	docs/Classes/SDLInteractionMode.html
#	docs/Classes/SDLKeyboardEvent.html
#	docs/Classes/SDLKeyboardLayout.html
#	docs/Classes/SDLKeypressMode.html
#	docs/Classes/SDLLanguage.html
#	docs/Classes/SDLLayoutMode.html
#	docs/Classes/SDLLifecycleConfiguration.html
#	docs/Classes/SDLListFiles.html
#	docs/Classes/SDLListFilesResponse.html
#	docs/Classes/SDLLocationCoordinate.html
#	docs/Classes/SDLMaintenanceModeStatus.html
#	docs/Classes/SDLMediaClockFormat.html
#	docs/Classes/SDLMenuParams.html
#	docs/Classes/SDLMetadataTags.html
#	docs/Classes/SDLNavigationCapability.html
#	docs/Classes/SDLOnAppInterfaceUnregistered.html
#	docs/Classes/SDLOnAudioPassThru.html
#	docs/Classes/SDLOnButtonEvent.html
#	docs/Classes/SDLOnButtonPress.html
#	docs/Classes/SDLOnCommand.html
#	docs/Classes/SDLOnDriverDistraction.html
#	docs/Classes/SDLOnHMIStatus.html
#	docs/Classes/SDLOnLanguageChange.html
#	docs/Classes/SDLOnLockScreenStatus.html
#	docs/Classes/SDLOnPermissionsChange.html
#	docs/Classes/SDLOnVehicleData.html
#	docs/Classes/SDLPRNDL.html
#	docs/Classes/SDLParameterPermissions.html
#	docs/Classes/SDLPerformAudioPassThru.html
#	docs/Classes/SDLPerformAudioPassThruResponse.html
#	docs/Classes/SDLPerformInteraction.html
#	docs/Classes/SDLPerformInteractionResponse.html
#	docs/Classes/SDLPermissionStatus.html
#	docs/Classes/SDLPhoneCapability.html
#	docs/Classes/SDLPresetBankCapabilities.html
#	docs/Classes/SDLPrimaryAudioSource.html
#	docs/Classes/SDLProtocol.html
#	docs/Classes/SDLPutFile.html
#	docs/Classes/SDLPutFileResponse.html
#	docs/Classes/SDLReadDID.html
#	docs/Classes/SDLReadDIDResponse.html
#	docs/Classes/SDLRectangle.html
#	docs/Classes/SDLRegisterAppInterface.html
#	docs/Classes/SDLRegisterAppInterfaceResponse.html
#	docs/Classes/SDLResetGlobalProperties.html
#	docs/Classes/SDLResetGlobalPropertiesResponse.html
#	docs/Classes/SDLResult.html
#	docs/Classes/SDLSamplingRate.html
#	docs/Classes/SDLScrollableMessage.html
#	docs/Classes/SDLScrollableMessageResponse.html
#	docs/Classes/SDLSendHapticData.html
#	docs/Classes/SDLSetAppIcon.html
#	docs/Classes/SDLSetAppIconResponse.html
#	docs/Classes/SDLSetDisplayLayout.html
#	docs/Classes/SDLSetDisplayLayoutResponse.html
#	docs/Classes/SDLSetGlobalProperties.html
#	docs/Classes/SDLSetGlobalPropertiesResponse.html
#	docs/Classes/SDLSetMediaClockTimer.html
#	docs/Classes/SDLSetMediaClockTimerResponse.html
#	docs/Classes/SDLShow.html
#	docs/Classes/SDLShowConstantTBT.html
#	docs/Classes/SDLShowConstantTBTResponse.html
#	docs/Classes/SDLShowResponse.html
#	docs/Classes/SDLSingleTireStatus.html
#	docs/Classes/SDLSlider.html
#	docs/Classes/SDLSliderResponse.html
#	docs/Classes/SDLSoftButtonCapabilities.html
#	docs/Classes/SDLSoftButtonType.html
#	docs/Classes/SDLSpeak.html
#	docs/Classes/SDLSpeakResponse.html
#	docs/Classes/SDLSpeechCapabilities.html
#	docs/Classes/SDLStartTime.html
#	docs/Classes/SDLStreamingMediaManager.html
#	docs/Classes/SDLSubscribeButton.html
#	docs/Classes/SDLSubscribeButtonResponse.html
#	docs/Classes/SDLSubscribeVehicleData.html
#	docs/Classes/SDLSubscribeVehicleDataResponse.html
#	docs/Classes/SDLSyncMsgVersion.html
#	docs/Classes/SDLSystemAction.html
#	docs/Classes/SDLSystemCapability.html
#	docs/Classes/SDLSystemContext.html
#	docs/Classes/SDLTTSChunk.html
#	docs/Classes/SDLTextAlignment.html
#	docs/Classes/SDLTextField.html
#	docs/Classes/SDLTextFieldName.html
#	docs/Classes/SDLTouchManager.html
#	docs/Classes/SDLTouchType.html
#	docs/Classes/SDLTriggerSource.html
#	docs/Classes/SDLUnregisterAppInterface.html
#	docs/Classes/SDLUnregisterAppInterfaceResponse.html
#	docs/Classes/SDLUnsubscribeButton.html
#	docs/Classes/SDLUnsubscribeButtonResponse.html
#	docs/Classes/SDLUnsubscribeVehicleData.html
#	docs/Classes/SDLUnsubscribeVehicleDataResponse.html
#	docs/Classes/SDLUpdateMode.html
#	docs/Classes/SDLUpdateTurnList.html
#	docs/Classes/SDLUpdateTurnListResponse.html
#	docs/Classes/SDLVRCapabilities.html
#	docs/Classes/SDLVehicleDataActiveStatus.html
#	docs/Classes/SDLVehicleDataEventStatus.html
#	docs/Classes/SDLVehicleDataNotificationStatus.html
#	docs/Classes/SDLVehicleDataResultCode.html
#	docs/Classes/SDLVehicleDataStatus.html
#	docs/Classes/SDLVehicleDataType.html
#	docs/Classes/SDLVehicleType.html
#	docs/Classes/SDLVideoStreamingCapability.html
#	docs/Classes/SDLVideoStreamingFormat.html
#	docs/Classes/SDLWarningLightStatus.html
#	docs/Classes/SDLWaypointType.html
#	docs/Classes/SDLWiperStatus.html
#	docs/Constants.html
#	docs/Enums.html
#	docs/Protocols/SDLManagerDelegate.html
#	docs/Protocols/SDLProtocolListener.html
#	docs/Protocols/SDLProxyListener.html
#	docs/Protocols/SDLRequestHandler.html
#	docs/Protocols/SDLTouchManagerDelegate.html
#	docs/Type Definitions.html
#	docs/badge.svg
#	docs/index.html
#	docs/search.json
#	docs/undocumented.json
  • Loading branch information
joeljfischer committed Oct 30, 2017
2 parents e3eb2a3 + 4233b57 commit 7f05c73
Show file tree
Hide file tree
Showing 1,395 changed files with 51,162 additions and 64,240 deletions.
47 changes: 47 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,50 @@
# 5.0.0 Release Notes
### Breaking Changes
* `SDLProxy.streamingMediaManager` is now removed. If you wish to use a streaming media manager, you must use `SDLManager.streamingMediaManager`. The streaming media manager has been entirely redesigned and now takes into account both phone and head unit app lifecycles [SDL-0033](https://github.com/smartdevicelink/sdl_ios/issues/583). There is now a streaming media configuration added to `SDLConfiguration`.
* `SDLJingle` constants have been removed [#7](https://github.com/smartdevicelink/sdl_ios/issues/7).
* Public files `SDLJsonEncoder.h`, `SDLJsonDecoder.h`, `SDLDecoder.h`, and `SDLEncoder.h` have been removed [#8](https://github.com/smartdevicelink/sdl_ios/issues/8).
* `SDLSiphonServer` has been removed; if something similar is needed, it may be custom built and inserted into the `SDLLogManager` [#85](https://github.com/smartdevicelink/sdl_ios/issues/85).
* RPC array and dictionary properties are now immutable [#152](https://github.com/smartdevicelink/sdl_ios/issues/152).
* `SDLOnWaypointChange`, a misspelling of `SDLOnWayPointChange` has been removed [#489](https://github.com/smartdevicelink/sdl_ios/issues/489).
* `SDLRPCStruct` and all RPC subclasses now take an immutable dictionary to decode [#122](https://github.com/smartdevicelink/sdl_ios/issues/122) [SDL-0005](https://github.com/smartdevicelink/sdl_ios/issues/151), [SDL-0005](https://github.com/smartdevicelink/sdl_ios/issues/507).
* SDL enums are now all stringly typed in Objective-C, and swift enums in Swift [#20](https://github.com/smartdevicelink/sdl_ios/issues/20) [SDL-0006](https://github.com/smartdevicelink/sdl_ios/issues/425).
* iOS 6 and iOS 7 are no longer supported [SDL-0008](https://github.com/smartdevicelink/sdl_ios/issues/419) [SDL-0024](https://github.com/smartdevicelink/sdl_ios/issues/526).
* Use nullability annotations throughout the project [#73](https://github.com/smartdevicelink/sdl_ios/issues/73) [SDL-0018](https://github.com/smartdevicelink/sdl_ios/issues/484).
* Remove `SDLRPCRequestFactory`, initializers now exist on most RPC classes [SDL-0020](https://github.com/smartdevicelink/sdl_ios/issues/485).
* `SDLTTSChunkFactory` was removed, use the initializers on `SDLTTSChunk` instead [SDL-0021](https://github.com/smartdevicelink/sdl_ios/issues/486).
* Handler events now provide better parameters instead of generic ones [SDL-0027](https://github.com/smartdevicelink/sdl_ios/issues/537).

### Enhancements
* Most properties are now nonatomic, which should speed up the library significantly [#49](https://github.com/smartdevicelink/sdl_ios/issues/49).
* `SDLLockScreenViewController` now uses template images, reducing the size of the library [#450](https://github.com/smartdevicelink/sdl_ios/issues/450).
* RPC classes now conform to `NSCopying` [SDL-0011](https://github.com/smartdevicelink/sdl_ios/issues/523).
* Added convenience methods for pulling out SDL notifications from `NSNotification` callbacks [#553](https://github.com/smartdevicelink/sdl_ios/issues/553).
* `SDLTouchManager` now supports gesture cancellation [#673](https://github.com/smartdevicelink/sdl_ios/issues/673).
* `SDLStreamingMediaManager` now supports automatic `GetSystemCapability` calls [#686](https://github.com/smartdevicelink/sdl_ios/issues/686).
* `SDLRegisterAppInterfaceResponse` fixed `pcmCapabilities` not being exposed [#714](https://github.com/smartdevicelink/sdl_ios/issues/714).
* Generics have been added for collections throughout the library [SDL-0007](https://github.com/smartdevicelink/sdl_ios/issues/444).
* `SDLFileManager` will not stream from a file on disk if possible [SDL-0025](https://github.com/smartdevicelink/sdl_ios/issues/536).
* `SDLFileManager` added methods for sending multiple files in one call [SDL-0029](https://github.com/smartdevicelink/sdl_ios/issues/558).
* Added additional `SDLManager` delegate methods for all `onHMIStatus` state changes [SDL-0032](https://github.com/smartdevicelink/sdl_ios/issues/569).
* Added a handler to `SDLPerformAudioPassThru` [SDL-0035](https://github.com/smartdevicelink/sdl_ios/issues/585).
* `SDLStreamingMediaManager` now supports H.264 + RTP [SDL-0048](https://github.com/smartdevicelink/sdl_ios/issues/619).
* Added SDL Remote Control baseline [SDL-0071](https://github.com/smartdevicelink/sdl_ios/issues/650).
* Focusable items can now be sent (to Core 4.4+) and a manager exists that will automatically handle finding and sending those rects if a `UIWindow` is set in the `SDLStreamingMediaConfiguration`. They will also be passed back to the developer through the `SDLTouchManagerDelegate` [SDL-0075](https://github.com/smartdevicelink/sdl_ios/issues/664) [SDL-0081](https://github.com/smartdevicelink/sdl_ios/issues/698) [SDL-0090](https://github.com/smartdevicelink/sdl_ios/issues/728).

### Bug Fixes
* Services are now properly ended with hash ids [#661](https://github.com/smartdevicelink/sdl_ios/issues/661).
* Constants are now unified into one style [#711](https://github.com/smartdevicelink/sdl_ios/issues/711).
* Fix streaming media manager always assumed 30fps streaming; it can now be custom set by developers in the video encoding dictionary [#717](https://github.com/smartdevicelink/sdl_ios/issues/717).

### Example App

### Other
* SDL constants are now constants instead of `#define` [#3](https://github.com/smartdevicelink/sdl_ios/issues/3).
* Some protocol property and enum names were incorrect but now fixed [#275](https://github.com/smartdevicelink/sdl_ios/issues/275).
* Internal getters and setters on RPC classes no longer repeat code everywhere [#493](https://github.com/smartdevicelink/sdl_ios/issues/493).
* `SDLOnLockScreenStatus` does not use constants for property keys [#497](https://github.com/smartdevicelink/sdl_ios/issues/497).
* Removed deprecated methods [#679](https://github.com/smartdevicelink/sdl_ios/issues/679).

# 4.7.4 Release Notes
### Bug Fixes
* Fix for connecting video streaming on Core 4.4.0 (to be released) and above.
Expand Down
18 changes: 12 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@

[![Version](https://img.shields.io/cocoapods/v/SmartDeviceLink.svg?style=flat)](https://cocoapods.org/pods/SmartDeviceLink)
[![License](https://img.shields.io/cocoapods/l/SmartDeviceLink.svg?style=flat)](https://cocoapods.org/pods/SmartDeviceLink)
[![Version](https://img.shields.io/cocoapods/v/SmartDeviceLink-iOS.svg?style=flat)](https://cocoapods.org/pods/SmartDeviceLink-iOS)
[![License](https://img.shields.io/cocoapods/l/SmartDeviceLink-iOS.svg?style=flat)](https://cocoapods.org/pods/SmartDeviceLink-iOS)
[![Build Status](https://img.shields.io/travis/smartdevicelink/sdl_ios/master.svg?style=flat)](https://travis-ci.org/smartdevicelink/sdl_ios)
[![codecov](https://codecov.io/gh/smartdevicelink/sdl_ios/branch/master/graph/badge.svg)](https://codecov.io/gh/smartdevicelink/sdl_ios)
[![documentation](https://img.shields.io/badge/documentation-51%25-yellow.svg)]()
[![CocoaPods Downloads](https://img.shields.io/cocoapods/dt/SmartDeviceLink.svg?maxAge=172800)](https://cocoapods.org/pods/SmartDeviceLink)
[![Documentation](https://img.shields.io/cocoapods/metrics/doc-percent/SmartDeviceLink-iOS.svg)](http://cocoadocs.org/docsets/SmartDeviceLink-iOS/)
[![CocoaPods Downloads](https://img.shields.io/cocoapods/dt/SmartDeviceLink-iOS.svg?maxAge=172800)](https://cocoapods.org/pods/SmartDeviceLink-iOS)
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
[![Slack Status](http://sdlslack.herokuapp.com/badge.svg)](http://slack.smartdevicelink.com)

Expand Down Expand Up @@ -39,14 +39,20 @@ See the [roadmap](https://github.com/smartdevicelink/sdl_ios/wiki/Roadmap) to se

##### Cocoapods

You can install this library using [Cocoapods](https://cocoapods.org/pods/SmartDeviceLink). You can get started with Cocoapods by [following their install guide](https://guides.cocoapods.org/using/getting-started.html#getting-started), and learn how to use Cocoapods to install dependencies [by following this guide](https://guides.cocoapods.org/using/using-cocoapods.html).
You can install this library using [Cocoapods](https://cocoapods.org/pods/SmartDeviceLink-iOS). You can get started with Cocoapods by [following their install guide](https://guides.cocoapods.org/using/getting-started.html#getting-started), and learn how to use Cocoapods to install dependencies [by following this guide](https://guides.cocoapods.org/using/using-cocoapods.html).

In your podfile, you want to add `pod 'SmartDeviceLink', '~> 4.7'`. Then run `pod install` inside your terminal. With Cocoapods, we support iOS 6.0+.
In your podfile, you want to add `pod 'SmartDeviceLink', '~> 5.0'`. Then run `pod install` inside your terminal. With Cocoapods, we support iOS 8.0+.

###### Swift
If you are building a Swift app, then add this instead `pod 'SmartDeviceLink-iOS/Swift', '~> 2.0'`. Then run `pod install` in your terminal.

##### Carthage

SDL iOS supports Carthage! Install using Carthage by following [this guide](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application). Carthage supports iOS 8+.

###### Swift
If you are building a Swift app, then include both packaged frameworks for expanded logging support.

##### Dynamic Framework

Tagged to our releases is a dynamic framework file that can be drag-and-dropped into the application. Dynamic frameworks are supported on iOS 8+. **WARNING: You cannot submit your app to the app store with the framework as is. You MUST strip the simulator part of the framework first. Use a script such as Carthage's to accomplish this**.
Expand Down
Loading

0 comments on commit 7f05c73

Please sign in to comment.