Comcast / mamba

Mamba is a Swift iOS, tvOS and macOS framework to parse, validate and write HTTP Live Streaming (HLS) data.
Apache License 2.0
180 stars 40 forks source link

updated to swift 4.2 #37

Closed jgainfort closed 5 years ago

jgainfort commented 5 years ago

Description

This PR adds support to Swift 4.2

Change Notes

Swift 4.2 changes to deprecated names ex: kCMTimeInvalid -> CMTime.invalid

Pre-submission Checklist

jgainfort commented 5 years ago

Thank you for accepting the change so quickly!

dcoufal commented 5 years ago

np! Do you need a release?

jgainfort commented 5 years ago

If its possible

dcoufal commented 5 years ago

Sure. It might be this weekend or Monday before I can get to it.

jgainfort commented 5 years ago

Not a problem. Have a good weekend!

dcoufal commented 5 years ago

@jgainfort I have done the 1.1.0 release, but... I'm having difficulties with CocoaPods.

It's not recognizing that the code is swift 4.2 and is compiling as swift 4.0:

-> mamba (1.1.0)
    - ERROR | xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
    - NOTE  | xcodebuild:  note: Using new build system
    - NOTE  | xcodebuild:  note: Planning build
    - NOTE  | xcodebuild:  note: Constructing build description
    - NOTE  | xcodebuild:  warning: Skipping code signing because the target does not have an Info.plist file. (in target 'App')
    - ERROR | xcodebuild:  mamba/mambaSharedFramework/Pantos-Generic HLS Playlist Parsing/Pantos-Generic Tag Validators/EXT_X_STARTTimeOffsetValidator.swift:49:71: error: extraneous argument label 'multiplier:' in call
    - ERROR | xcodebuild:  mamba/mambaSharedFramework/Pantos-Generic HLS Playlist Parsing/Pantos-Generic Tag Validators/EXTINFValidator.swift:27:62: error: 'zero' has been renamed to 'kCMTimeZero'
    - NOTE  | xcodebuild:  CoreMedia.CMTime:16:23: note: 'zero' was introduced in Swift 4.2
    - ERROR | xcodebuild:  mamba/mambaSharedFramework/HLS Models/Playlist Structure/HLSPlaylistStructure.swift:371:47: error: 'invalid' has been renamed to 'kCMTimeInvalid'
    - NOTE  | xcodebuild:  CoreMedia.CMTime:4:23: note: 'invalid' was introduced in Swift 4.2
    - ERROR | xcodebuild:  mamba/mambaSharedFramework/HLS Models/Playlist Structure/HLSPlaylistStructure.swift:372:53: error: 'invalid' has been renamed to 'kCMTimeInvalid'
    - ERROR | xcodebuild:  mamba/mambaSharedFramework/HLS Models/Playlist Structure/HLSPlaylistStructure.swift:469:49: error: 'invalid' has been renamed to 'kCMTimeInvalid'
    - ERROR | xcodebuild:  mamba/mambaSharedFramework/HLS Models/Playlist Structure/HLSPlaylistStructureInterface.swift:70:88: error: 'invalid' has been renamed to 'kCMTimeInvalid'
    - ERROR | xcodebuild:  mamba/mambaSharedFramework/HLS Models/Playlist Structure/HLSPlaylistStructureInterface.swift:80:87: error: 'invalid' has been renamed to 'kCMTimeInvalid'
    - ERROR | xcodebuild:  mamba/mambaSharedFramework/HLS Models/Playlist Structure/HLSPlaylistStructureInterface.swift:91:27: error: 'invalid' has been renamed to 'kCMTimeInvalid'
    - ERROR | xcodebuild:  mamba/mambaSharedFramework/HLS Models/HLSTag.swift:107:43: error: 'invalid' has been renamed to 'kCMTimeInvalid'
    - ERROR | xcodebuild:  mamba/mambaSharedFramework/HLS Models/HLSTag.swift:130:32: error: 'invalid' has been renamed to 'kCMTimeInvalid'
    - ERROR | xcodebuild:  mamba/mambaSharedFramework/HLS Models/HLSTag.swift:158:32: error: 'invalid' has been renamed to 'kCMTimeInvalid'

Our team is carthage, but I think you're a cocoa pods person. Do you have any suggestions? I'm not sure why it's not reading swift 4.2 from the project file. Is there some way of forcing this in the pod file?

dcoufal commented 5 years ago

@jgainfort Forgot about .swift-version. :)

There's now a 1.1.1 release that should be good.