From ea6b73bda4435e9cfd7058711e46da2a6c8d8538 Mon Sep 17 00:00:00 2001 From: William Entriken Date: Thu, 4 Dec 2025 20:54:25 -0500 Subject: [PATCH 1/2] Set up testing and support iOS 18 --- .github/FUNDING.yml | 2 +- .github/workflows/test.yml | 41 +++++----- CHANGELOG.md | 94 +++++++++++++++++------ Example/Example.xcodeproj/project.pbxproj | 2 + README.md | 27 ++++++- 5 files changed, 118 insertions(+), 48 deletions(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index b8f01d0..55580f6 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,4 +1,4 @@ # These are supported funding model platforms github: [fulldecent] -custom: ["https://www.paypal.me/fulldecent", "https://amazon.com/hz/wishlist/ls/EE78A23EEGQB"] +custom: ["https://www.paypal.me/fulldecent"] diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 94355b7..519ad59 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,32 +1,37 @@ --- -name: Test +name: CI on: push: - branches: [main, master] + branches: [main] pull_request: - branches: [main, master] + branches: [main] jobs: test: - runs-on: macos-14 + name: Build and Test + runs-on: macos-15 steps: - uses: actions/checkout@v4 - - name: Setup Xcode version - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: '15.4' + - name: Select Xcode + run: sudo xcode-select -s /Applications/Xcode_16.4.app - - name: Build and Test for iOS + - name: Show build environment run: | - # Build for iPhone Simulator using xcodebuild with Swift package - xcodebuild -scheme FDWaveformView \ - -destination "platform=iOS Simulator,name=iPhone 15,OS=17.5" \ - clean build - - # Run tests on iPhone Simulator - xcodebuild -scheme FDWaveformView \ - -destination "platform=iOS Simulator,name=iPhone 15,OS=17.5" \ - test + xcodebuild -version + xcrun swift --version + xcrun simctl list devices available | grep 'iPhone 16 ' + + - name: Build + run: | + xcodebuild build \ + -scheme FDWaveformView \ + -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.5' + + - name: Test + run: | + xcodebuild test \ + -scheme FDWaveformView \ + -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.5' diff --git a/CHANGELOG.md b/CHANGELOG.md index bea713c..33f5789 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,27 +1,35 @@ -# Change Log +# Change log + All notable changes to this project will be documented in this file. `FDWaveformView` adheres to [Semantic Versioning](http://semver.org/). --- -## [Master](https://github.com/fulldecent/FDWaveformView/compare/5.0.2...master) +## [Main](https://github.com/fulldecent/FDWaveformView/compare/5.0.2...main) + +### Changed -#### Changed +- Updated README to mention Swift Package Manager only installation +- Set up CI with GitHub Actions and document testing from command line --- ## [5.0.2](https://github.com/fulldecent/FDWaveformView/releases/tag/5.0.2) + Released on 2024-03-27. -#### Changed +### Changed + - Removed Travis CI, CocoaPods, Carthage --- ## [4.0.1](https://github.com/fulldecent/FDWaveformView/releases/tag/4.0.1) + Released on 2020-02-12. -#### Changed +### Changed + - Switch to new standard library clamp functions - Added by [William Entriken](https://github.com/fulldecent) - Fixed timescale bug for some mp4 files @@ -30,9 +38,11 @@ Released on 2020-02-12. --- ## [4.0.0](https://github.com/fulldecent/FDWaveformView/releases/tag/4.0.0) + Released on 2019-04-08. -#### Changed +### Changed + - Converted to Swift 4.2 and Xcode 10 - Added by [Doug Earnshaw](https://github.com/pixlwave) - Prevent to handle panning gesture while pinching @@ -44,31 +54,38 @@ Released on 2019-04-08. --- ## [3.0.1](https://github.com/fulldecent/FDWaveformView/releases/tag/3.0.1) + Released on 2017-10-27. -#### Fixed +### Fixed + - Fixed Highlight Samples not aligned to base waveform [#101](https://github.com/fulldecent/FDWaveformView/issues/101). - Added by [Jon Andersen](https://github.com/jonandersen) --- ## [3.0.0](https://github.com/fulldecent/FDWaveformView/releases/tag/3.0.0) + Released on 2017-10-27. -#### Changed +### Changed + - Now supporting Swift 4.0 --- ## [2.2.1](https://github.com/fulldecent/FDWaveformView/releases/tag/2.2.1) + Released on 2017-05-31. -#### Changed +### Changed + - Now using ranges in the API where appropriate - Added by [William Entriken](https://github.com/fulldecent) in regards to issue [#76](https://github.com/fulldecent/FDWaveformView/issues/86). -#### Fixed +### Fixed + - Fixed a retain cycle in completion handler of waveform render operation - Added by [Philippe Jayet](https://github.com/pjay) - Cancel waveform render operation when view is released @@ -77,9 +94,11 @@ Released on 2017-05-31. --- ## [2.2.0](https://github.com/fulldecent/FDWaveformView/releases/tag/2.2.0) + Released on 2017-05-03. -#### Added +### Added + - Improved accuracy of waveform rendering - Added by [Kip Nicol](https://github.com/ospr) - Added support for rendering waveform images outside of view (See `FDWaveformRenderOperation`) @@ -91,7 +110,8 @@ Released on 2017-05-03. - Added support for updating waveform type and color to iOS Example app. - Added by [Kip Nicol](https://github.com/ospr) -#### Fixed +### Fixed + - Fixed waveform rendering for large audio files - Added by [Kip Nicol](https://github.com/ospr) - Fixed bug which could prevent waveform from fitting new view size if rendering was in progress during a view resize @@ -106,15 +126,18 @@ Released on 2017-05-03. --- ## [2.1.0](https://github.com/fulldecent/FDWaveformView/releases/tag/2.1.0) + Released on 2017-04-15. -#### Added +### Added + - Improved example app to include more options - Added by [William Entriken](https://github.com/fulldecent) - Allowed animation for changes to zoom - Added by [William Entriken](https://github.com/fulldecent) -#### Fixed +### Fixed + - Improved accuracy of waveform rendering - Added by [Kip Nicol](https://github.com/ospr) - Fixed waveform rendering for large audio files @@ -126,9 +149,11 @@ Released on 2017-04-15. --- ## [2.0.1](https://github.com/fulldecent/FDWaveformView/releases/tag/2.0.1) + Released on 2017-02-16. -#### Added +### Added + - Allowed scrubbing independantly of scrolling - Added by [Doug Earnshaw](https://github.com/pixlwave) - Tidied up Swift 3.0 conversion, removed some forced unwraps & generally made more swifty @@ -137,9 +162,11 @@ Released on 2017-02-16. --- ## [2.0.0](https://github.com/fulldecent/FDWaveformView/releases/tag/2.0.0) + Released on 2016-09-27. -#### Added +### Added + - Automated CocoaPods Quality Indexes testing - Added by [Hayden Holligan](https://github.com/haydenholligan) - Used GPU to process waveforms @@ -148,9 +175,11 @@ Released on 2016-09-27. --- ## [1.0.2](https://github.com/fulldecent/FDWaveformView/releases/tag/1.0.2) + Released on 2016-09-02. -#### Fixed +### Fixed + - Corrected rendering, fixed typo - Added by [William Entriken](https://github.com/fulldecent) in regards to issue [#62](https://github.com/fulldecent/FDWaveformView/issues/62). @@ -158,9 +187,11 @@ Released on 2016-09-02. --- ## [1.0.1](https://github.com/fulldecent/FDWaveformView/releases/tag/1.0.1) + Released on 2016-08-02. -#### Fixed +### Fixed + - Fixed Podspec for Swift files - Added by [William Entriken](https://github.com/fulldecent) in regards to issue [#61](https://github.com/fulldecent/FDWaveformView/issues/61). @@ -168,9 +199,11 @@ Released on 2016-08-02. --- ## [1.0.0](https://github.com/fulldecent/FDWaveformView/releases/tag/1.0.0) + Released on 2016-06-27. -#### Added +### Added + - Full API documentation - Added by [William Entriken](https://github.com/fulldecent) in regards to issue [#53](https://github.com/fulldecent/FDWaveformView/issues/53). @@ -187,50 +220,61 @@ Released on 2016-06-27. --- ## [0.3.2](https://github.com/fulldecent/FDWaveformView/releases/tag/0.3.2) + Released on 2016-04-10. -#### Added +### Added + - Carthage support - Added by [William Entriken](https://github.com/fulldecent) --- ## [0.3.0](https://github.com/fulldecent/FDWaveformView/releases/tag/0.3.0) + Released on 2016-03-29. -#### Added +### Added + - Separated scrolling and pinching options - Added by [Rudy Mutter](https://github.com/rmutter) -#### Updated +### Updated + - Used recommended CocoPods project format - Added by [William Entriken](https://github.com/fulldecent) -#### Fixed +### Fixed + - That warning everyone was seeing - Added by [Yin Cheng](https://github.com/msching) --- ## [0.2.2](https://github.com/fulldecent/FDWaveformView/releases/tag/0.2.2) + Released on 2015-09-14. -#### Added +### Added + - Profiling tests - Added by [William Entriken](https://github.com/fulldecent) --- ## [0.1.2](https://github.com/fulldecent/FDWaveformView/releases/tag/0.1.2) + Released on 2014-01-06. -#### Added +### Added + - First cocoapods release - Added by [William Entriken](https://github.com/fulldecent) --- ## [0.1.0](https://github.com/fulldecent/FDWaveformView/releases/tag/0.1.0) + Released on 2013-11-04. Initial public release. diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index 2552895..df6dd64 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -298,6 +298,7 @@ INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 18.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -326,6 +327,7 @@ INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 18.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/README.md b/README.md index 75b9036..673025d 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ FDWaveformView is an easy way to display an audio waveform in your app. It is a nice visualization to show a playing audio file or to select a position in a file. -**:hatching_chick: Virtual tip jar: https://amazon.com/hz/wishlist/ls/EE78A23EEGQB** - Usage ----- @@ -67,17 +65,38 @@ UIView.animate(withDuration: 0.3) {

- Creates **antialiased waveforms** by drawing more pixels than are seen on screen. Also, if you resize me (autolayout) I will render more detail if necessary to avoid pixelation. Supports **iOS12+** and Swift 5. **Includes unit tests**, now running on GitHub Actions +## Testing + +To build and run tests from the command line, first find an available simulator: + +```sh +xcrun simctl list devices available | grep iPhone +``` + +Then build and test using a simulator ID: + +```sh +# Build the library +xcodebuild build -scheme FDWaveformView -destination 'id=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' + +# Run unit tests +xcodebuild test -scheme FDWaveformView -destination 'id=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' + +# Build the Example app (requires a newer iOS simulator) +cd Example +xcodebuild build -scheme Example -destination 'id=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' +``` + ## Installation Add this to your project using Swift Package Manager. In Xcode that is simply: File > Swift Packages > Add Package Dependency... and you're done. Alternative installations options are shown below for legacy projects. ## Contributing -* This project's layout is based on https://github.com/fulldecent/swift5-module-template +* This project's layout is based on From 3d41f7ef323ec5f491b8c95fd0af643140c46265 Mon Sep 17 00:00:00 2001 From: William Entriken Date: Thu, 4 Dec 2025 21:00:28 -0500 Subject: [PATCH 2/2] Clarify instructions for building and testing with simulator ID in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 673025d..4657f44 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ To build and run tests from the command line, first find an available simulator: xcrun simctl list devices available | grep iPhone ``` -Then build and test using a simulator ID: +Then build and test using a simulator ID (replace the placeholder with an ID from the output above): ```sh # Build the library