From 24f9354a682fa5e9f9747e791773f50150f9033e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20De=CC=81fago?= Date: Wed, 22 Sep 2021 13:19:50 +0200 Subject: [PATCH 01/22] Bump version number --- Demo/Demo.xcconfig | 2 +- Package.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Demo/Demo.xcconfig b/Demo/Demo.xcconfig index b1d43df..bc00a71 100644 --- a/Demo/Demo.xcconfig +++ b/Demo/Demo.xcconfig @@ -1,5 +1,5 @@ // Version information -MARKETING_VERSION = 3.0.4 +MARKETING_VERSION = 3.0.5 // Deployment targets IPHONEOS_DEPLOYMENT_TARGET = 9.0 diff --git a/Package.swift b/Package.swift index 5b892a1..46c9415 100644 --- a/Package.swift +++ b/Package.swift @@ -3,7 +3,7 @@ import PackageDescription struct ProjectSettings { - static let marketingVersion: String = "3.0.4" + static let marketingVersion: String = "3.0.5" } let package = Package( From dcfb8ebeabe4d4bef841613424a3fcde6f49f46b Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Thu, 27 Jan 2022 17:11:19 +0100 Subject: [PATCH 02/22] Fastlane: Apply new rubocop cops --- .rubocop.yml | 5 ++--- fastlane/Fastfile | 30 ++++++++++++++---------------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index ec08ab7..038455e 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -4,16 +4,15 @@ inherit_mode: AllCops: Exclude: - - 'Carthage/**/*' - - 'Demo/Carthage/**/*' - 'vendor/**/*' Include: - 'fastlane/Pluginfile' + NewCops: enable # this would cause errors with long lanes Metrics/BlockLength: Enabled: true - ExcludedMethods: ['platform', 'for_platform'] + IgnoredMethods: ['platform', 'for_platform'] # Lane description and gem lines can be long Layout/LineLength: diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 76cb279..1c48a0f 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -25,9 +25,6 @@ platform :ios do clean_result_files clean_derived_data - Device = Struct.new(:platform, :name) - TestBuild = Struct.new(:scheme, :scheme_suffix, :in_workspace) - iphone11 = Device.new('iOS', 'iPhone 11') appletv = Device.new('tvOS', 'Apple TV') devices = [iphone11, appletv] @@ -54,6 +51,9 @@ platform :ios do end end +Device = Struct.new :platform, :name +TestBuild = Struct.new :scheme, :scheme_suffix, :in_workspace + def swift_package_name JSON.parse((sh 'swift package dump-package'))['name'] end @@ -70,13 +70,11 @@ end def srg_run_tests(devices, test_builds) devices.each do |device| test_builds.each do |test_build| - begin - srg_xcodebuild(device, test_build) - rescue StandardError => e - raise e unless e.message.include? '** TEST FAILED **' + srg_xcodebuild(device, test_build) + rescue StandardError => e + raise e unless e.message.include? '** TEST FAILED **' - UI.important('One or more tests failed on ' + device.platform + ' (' + srg_xcodebuild_scheme(test_build) + '). ⚠️') - end + UI.important("One or more tests failed on #{device.platform} (#{srg_xcodebuild_scheme(test_build)}). ⚠️") end end end @@ -93,7 +91,7 @@ def srg_xcodebuild(device, test_build) end def srg_xcodebuild_workspace(test_build) - test_build.in_workspace ? 'Tests/' + srg_xcodebuild_scheme(test_build) + '.xcworkspace' : nil + test_build.in_workspace ? "Tests/#{srg_xcodebuild_scheme(test_build)}.xcworkspace" : nil end def srg_xcodebuild_scheme(test_build) @@ -101,11 +99,11 @@ def srg_xcodebuild_scheme(test_build) end def srg_xcodebuild_destination(device) - 'platform=' + device.platform + ' Simulator,name=' + device.name + "platform=#{device.platform} Simulator,name=#{device.name}" end def srg_xcodebuild_result_bundle_path(device, test_build) - result_bundle_folder_path + test_build.scheme + '-' + device.platform + "#{result_bundle_folder_path}#{test_build.scheme}-#{device.platform}" end def srg_xcodebuild_derived_data_path @@ -128,7 +126,7 @@ end # Override JUnit test suite names to split iOS and tvOS test results def override_junit_test_suite_names(test_builds) test_builds.each do |test_build| - Dir[test_build.scheme + '-*.xml'].each do |file_name| + Dir["#{test_build.scheme}-*.xml"].each do |file_name| override_junit_test_suite_name(file_name) end end @@ -137,9 +135,9 @@ end def override_junit_test_suite_name(file_name) platform = file_name.split('.').first.split('-').last file = File.open(file_name, 'r') - xml = file.read.gsub('Tests" tests="', '-' + platform + '" tests="') - xml = xml.gsub('-tests" tests="', '-' + platform + '" tests="') - File.open(file_name, 'w') { |f| f.write(xml) } + xml = file.read.gsub('Tests" tests="', "-#{platform}\" tests=\"") + xml = xml.gsub('-tests" tests="', "-#{platform}\" tests=\"") + File.write(file_name, xml) end # More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md From 3737ed419c4a15a57c72cfc548917ebb82898c95 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Fri, 11 Feb 2022 19:39:08 +0100 Subject: [PATCH 03/22] Update fastlane with trainer included --- Gemfile | 3 -- Gemfile.lock | 77 ++++++++++++++++++++++----------------------- fastlane/Fastfile | 2 +- fastlane/Pluginfile | 7 ----- fastlane/README.md | 25 ++++++++------- 5 files changed, 53 insertions(+), 61 deletions(-) delete mode 100644 fastlane/Pluginfile diff --git a/Gemfile b/Gemfile index 5d378ba..aa3838f 100644 --- a/Gemfile +++ b/Gemfile @@ -8,6 +8,3 @@ source 'https://rubygems.org' gem 'fastlane' gem 'xcode-install' - -plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') -eval_gemfile(plugins_path) if File.exist?(plugins_path) diff --git a/Gemfile.lock b/Gemfile.lock index a835d13..a68c0bb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,23 +1,24 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.3) + CFPropertyList (3.0.5) + rexml addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) artifactory (3.0.15) atomos (0.1.3) aws-eventstream (1.2.0) - aws-partitions (1.502.0) - aws-sdk-core (3.121.0) + aws-partitions (1.554.0) + aws-sdk-core (3.126.0) aws-eventstream (~> 1, >= 1.0.2) - aws-partitions (~> 1, >= 1.239.0) + aws-partitions (~> 1, >= 1.525.0) aws-sigv4 (~> 1.1) jmespath (~> 1.0) - aws-sdk-kms (1.48.0) - aws-sdk-core (~> 3, >= 3.120.0) + aws-sdk-kms (1.54.0) + aws-sdk-core (~> 3, >= 3.126.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.103.0) - aws-sdk-core (~> 3, >= 3.120.0) + aws-sdk-s3 (1.112.0) + aws-sdk-core (~> 3, >= 3.126.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.4) aws-sigv4 (1.4.0) @@ -34,18 +35,19 @@ GEM domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) dotenv (2.7.6) - emoji_regex (3.2.2) - excon (0.85.0) - faraday (1.7.2) + emoji_regex (3.2.3) + excon (0.91.0) + faraday (1.9.3) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.1) + faraday-net_http_persistent (~> 1.0) faraday-patron (~> 1.0) faraday-rack (~> 1.0) - multipart-post (>= 1.2, < 3) + faraday-retry (~> 1.0) ruby2_keywords (>= 0.0.4) faraday-cookie_jar (0.0.7) faraday (>= 0.8.0) @@ -54,14 +56,17 @@ GEM faraday-em_synchrony (1.0.0) faraday-excon (1.1.0) faraday-httpclient (1.0.1) + faraday-multipart (1.0.3) + multipart-post (>= 1.2, < 3) faraday-net_http (1.0.1) faraday-net_http_persistent (1.2.0) faraday-patron (1.0.0) faraday-rack (1.0.0) - faraday_middleware (1.1.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.0) faraday (~> 1.0) - fastimage (2.2.5) - fastlane (2.194.0) + fastimage (2.2.6) + fastlane (2.204.2) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -100,12 +105,10 @@ GEM xcodeproj (>= 1.13.0, < 2.0.0) xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) - fastlane-plugin-trainer (0.4.1) - trainer (>= 0.7.0) gh_inspector (1.1.3) - google-apis-androidpublisher_v3 (0.11.0) + google-apis-androidpublisher_v3 (0.16.0) google-apis-core (>= 0.4, < 2.a) - google-apis-core (0.4.1) + google-apis-core (0.4.2) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -114,49 +117,49 @@ GEM retriable (>= 2.0, < 4.a) rexml webrick - google-apis-iamcredentials_v1 (0.7.0) + google-apis-iamcredentials_v1 (0.10.0) google-apis-core (>= 0.4, < 2.a) - google-apis-playcustomapp_v1 (0.5.0) + google-apis-playcustomapp_v1 (0.7.0) google-apis-core (>= 0.4, < 2.a) - google-apis-storage_v1 (0.6.0) + google-apis-storage_v1 (0.11.0) google-apis-core (>= 0.4, < 2.a) google-cloud-core (1.6.0) google-cloud-env (~> 1.0) google-cloud-errors (~> 1.0) google-cloud-env (1.5.0) faraday (>= 0.17.3, < 2.0) - google-cloud-errors (1.1.0) - google-cloud-storage (1.34.1) - addressable (~> 2.5) + google-cloud-errors (1.2.0) + google-cloud-storage (1.36.1) + addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) google-apis-storage_v1 (~> 0.1) google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) - googleauth (0.17.1) + googleauth (1.1.0) faraday (>= 0.17.3, < 2.0) jwt (>= 1.4, < 3.0) memoist (~> 0.16) multi_json (~> 1.11) os (>= 0.9, < 2.0) - signet (~> 0.15) + signet (>= 0.16, < 2.a) highline (2.0.3) http-cookie (1.0.4) domain_name (~> 0.5) httpclient (2.8.3) - jmespath (1.4.0) - json (2.5.1) - jwt (2.2.3) + jmespath (1.5.0) + json (2.6.1) + jwt (2.3.0) memoist (0.16.2) mini_magick (4.11.0) - mini_mime (1.1.1) + mini_mime (1.1.2) multi_json (1.15.0) multipart-post (2.0.0) nanaimo (0.3.0) naturally (2.2.1) optparse (0.1.1) - os (1.1.1) + os (1.1.4) plist (3.6.0) public_suffix (4.0.6) rake (13.0.6) @@ -181,10 +184,7 @@ GEM terminal-notifier (2.0.0) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) - trailblazer-option (0.1.1) - trainer (0.9.1) - fastlane (>= 2.25.0) - plist (>= 3.1.0, < 4.0.0) + trailblazer-option (0.1.2) tty-cursor (0.7.1) tty-screen (0.8.1) tty-spinner (0.9.3) @@ -216,7 +216,6 @@ PLATFORMS DEPENDENCIES fastlane - fastlane-plugin-trainer xcode-install BUNDLED WITH diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 1c48a0f..f2475e3 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -9,7 +9,7 @@ # All lines starting with a # are ignored when running `fastlane` # This is the minimum version number required. -fastlane_version '2.96.0' +fastlane_version '2.201.0' default_platform :ios diff --git a/fastlane/Pluginfile b/fastlane/Pluginfile deleted file mode 100644 index 72dfbbd..0000000 --- a/fastlane/Pluginfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true - -# Autogenerated by fastlane -# -# Ensure this file is checked in to source control! - -gem 'fastlane-plugin-trainer' diff --git a/fastlane/README.md b/fastlane/README.md index 45a7da7..d812e80 100644 --- a/fastlane/README.md +++ b/fastlane/README.md @@ -1,29 +1,32 @@ fastlane documentation -================ +---- + # Installation Make sure you have the latest version of the Xcode command line tools installed: -``` +```sh xcode-select --install ``` -Install _fastlane_ using -``` -[sudo] gem install fastlane -NV -``` -or alternatively using `brew install fastlane` +For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) # Available Actions + ## iOS + ### ios tests + +```sh +[bundle exec] fastlane ios tests ``` -fastlane ios tests -``` + Run library tests ---- This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. -More information about fastlane can be found on [fastlane.tools](https://fastlane.tools). -The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools). + +More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools). + +The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools). From c83435e65f28fc263a4ba1512270906e5f925b2c Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Fri, 11 Feb 2022 20:16:00 +0100 Subject: [PATCH 04/22] Update iPhone test device --- fastlane/Fastfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index f2475e3..2ff8fd0 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -25,9 +25,9 @@ platform :ios do clean_result_files clean_derived_data - iphone11 = Device.new('iOS', 'iPhone 11') + iphone13 = Device.new('iOS', 'iPhone 13') appletv = Device.new('tvOS', 'Apple TV') - devices = [iphone11, appletv] + devices = [iphone13, appletv] scheme = swift_package_name swift_package_tests = TestBuild.new(scheme, '', false) From 301fde615035fab33b588b9e3263744c25e5e910 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Sat, 12 Feb 2022 18:20:24 +0100 Subject: [PATCH 05/22] Fastlane: expose JUnit files when updated Avoid CI to read files before test suite name override --- fastlane/Fastfile | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 2ff8fd0..ca96f27 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -37,8 +37,7 @@ platform :ios do srg_run_tests(devices, test_builds) # Produce JUnit files for CI - srg_trainer - override_junit_test_suite_names(test_builds) + srg_junit_files end after_all do @@ -110,11 +109,18 @@ def srg_xcodebuild_derived_data_path '.build/DerivedData' end +def srg_junit_files + srg_trainer + override_junit_test_suite_names + expose_junit_files +end + # Convert xcresults to JUnit files def srg_trainer trainer( path: result_bundle_folder_path, output_directory: './fastlane', + extension: raw_extension, fail_build: false ) end @@ -123,12 +129,14 @@ def result_bundle_folder_path './fastlane/xcresult/' end +def raw_extension + '.rawjunit' +end + # Override JUnit test suite names to split iOS and tvOS test results -def override_junit_test_suite_names(test_builds) - test_builds.each do |test_build| - Dir["#{test_build.scheme}-*.xml"].each do |file_name| - override_junit_test_suite_name(file_name) - end +def override_junit_test_suite_names + Dir["*#{raw_extension}"].each do |file_name| + override_junit_test_suite_name(file_name) end end @@ -140,6 +148,14 @@ def override_junit_test_suite_name(file_name) File.write(file_name, xml) end +def expose_junit_files + Dir["*#{raw_extension}"].each do |file_name| + # Rename JUnit files with correct extension + new_file_name = file_name.gsub(raw_extension, '.xml') + File.rename(file_name, new_file_name) unless File.exist?(new_file_name) + end +end + # More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md # All available actions: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Actions.md From 4eb928558729823aa7b39adba166550abf33e4bb Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Fri, 11 Feb 2022 22:12:00 +0100 Subject: [PATCH 06/22] Fastlane: Add 2 retries for unit tests --- Gemfile.lock | 6 +++--- fastlane/Fastfile | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index a68c0bb..80005d6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -66,7 +66,7 @@ GEM faraday_middleware (1.2.0) faraday (~> 1.0) fastimage (2.2.6) - fastlane (2.204.2) + fastlane (2.204.3) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -137,7 +137,7 @@ GEM google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) - googleauth (1.1.0) + googleauth (1.1.1) faraday (>= 0.17.3, < 2.0) jwt (>= 1.4, < 3.0) memoist (~> 0.16) @@ -148,7 +148,7 @@ GEM http-cookie (1.0.4) domain_name (~> 0.5) httpclient (2.8.3) - jmespath (1.5.0) + jmespath (1.6.0) json (2.6.1) jwt (2.3.0) memoist (0.16.2) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index ca96f27..d828f1b 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -81,6 +81,7 @@ end def srg_xcodebuild(device, test_build) xcodebuild( test: true, + xcargs: srg_test_xcargs, workspace: srg_xcodebuild_workspace(test_build), scheme: srg_xcodebuild_scheme(test_build), destination: srg_xcodebuild_destination(device), @@ -89,6 +90,10 @@ def srg_xcodebuild(device, test_build) ) end +def srg_test_xcargs + '-retry-tests-on-failure' +end + def srg_xcodebuild_workspace(test_build) test_build.in_workspace ? "Tests/#{srg_xcodebuild_scheme(test_build)}.xcworkspace" : nil end @@ -121,6 +126,7 @@ def srg_trainer path: result_bundle_folder_path, output_directory: './fastlane', extension: raw_extension, + output_remove_retry_attempts: true, fail_build: false ) end From b9149392e8a9a6ab6c7485642a392a4b3a5ee830 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Tue, 1 Mar 2022 13:44:12 +0100 Subject: [PATCH 07/22] Add Swift linter --- .swiftlint.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .swiftlint.yml diff --git a/.swiftlint.yml b/.swiftlint.yml new file mode 100644 index 0000000..78548db --- /dev/null +++ b/.swiftlint.yml @@ -0,0 +1,17 @@ +disabled_rules: + - identifier_name + - statement_position + - todo + +line_length: 300 + +trailing_whitespace: + ignores_empty_lines: true + severity: warning + +nesting: + type_level: 2 + +excluded: + - .build + - vendor From 55e0476845631f86144ca2592bf6b879ceaa6afc Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Tue, 10 May 2022 16:17:40 +0200 Subject: [PATCH 08/22] Update test stream urls --- .../AkamaiResourceLoaderTestCase.m | 8 ++++---- Tests/SRGContentProtectionTests/AkamaiTokenTestCase.m | 4 ++-- .../FairPlayResourceLoaderTestCase.m | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Tests/SRGContentProtectionTests/AkamaiResourceLoaderTestCase.m b/Tests/SRGContentProtectionTests/AkamaiResourceLoaderTestCase.m index 77e2d95..2325c12 100644 --- a/Tests/SRGContentProtectionTests/AkamaiResourceLoaderTestCase.m +++ b/Tests/SRGContentProtectionTests/AkamaiResourceLoaderTestCase.m @@ -20,7 +20,7 @@ @implementation AkamaiResourceLoaderTestCase - (void)testProtectedResourcePlayback { - NSURL *URL = [NSURL URLWithString:@"https://srgssruni9ch-lh.akamaihd.net/i/enc9uni_ch@191320/master.m3u8"]; + NSURL *URL = [NSURL URLWithString:@"https://srgssruni11ch-lh.akamaihd.net/i/enc11uni_ch@191455/master.m3u8"]; AVURLAsset *asset = [AVURLAsset srg_akamaiTokenProtectedAssetWithURL:URL options:nil]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; @@ -33,7 +33,7 @@ - (void)testProtectedResourcePlayback - (void)testProtectedResourcePlaybackWithParameter { - NSURL *URL = [NSURL URLWithString:@"https://srgssruni9ch-lh.akamaihd.net/i/enc9uni_ch@191320/master.m3u8?__b__=800"]; + NSURL *URL = [NSURL URLWithString:@"https://srgssruni11ch-lh.akamaihd.net/i/enc11uni_ch@191455/master.m3u8?__b__=800"]; AVURLAsset *asset = [AVURLAsset srg_akamaiTokenProtectedAssetWithURL:URL options:nil]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; @@ -46,7 +46,7 @@ - (void)testProtectedResourcePlaybackWithParameter - (void)testNonProtectedResourcePlayback { - NSURL *URL = [NSURL URLWithString:@"http://tagesschau-lh.akamaihd.net/i/tagesschau_1@119231/master.m3u8"]; + NSURL *URL = [NSURL URLWithString:@"https://rtsc3video-lh.akamaihd.net/i/rtsc3video_ww@513975/master.m3u8"]; AVURLAsset *asset = [AVURLAsset srg_akamaiTokenProtectedAssetWithURL:URL options:nil]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; @@ -59,7 +59,7 @@ - (void)testNonProtectedResourcePlayback - (void)testNonProtectedResourcePlaybackWithParameter { - NSURL *URL = [NSURL URLWithString:@"http://tagesschau-lh.akamaihd.net/i/tagesschau_1@119231/master.m3u8?__b__=800"]; + NSURL *URL = [NSURL URLWithString:@"https://rtsc3video-lh.akamaihd.net/i/rtsc3video_ww@513975/master.m3u8?__b__=800"]; AVURLAsset *asset = [AVURLAsset srg_akamaiTokenProtectedAssetWithURL:URL options:nil]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; diff --git a/Tests/SRGContentProtectionTests/AkamaiTokenTestCase.m b/Tests/SRGContentProtectionTests/AkamaiTokenTestCase.m index f7c145e..69b0b5c 100644 --- a/Tests/SRGContentProtectionTests/AkamaiTokenTestCase.m +++ b/Tests/SRGContentProtectionTests/AkamaiTokenTestCase.m @@ -30,7 +30,7 @@ - (void)testTokenizeAkamaiURL { XCTestExpectation *expectation = [self expectationWithDescription:@"Request ended"]; - [[SRGAkamaiToken tokenizeURL:[NSURL URLWithString:@"https://srgssruni1ch-lh.akamaihd.net/i/enc1uni_ch@190951/master.m3u8"] withSession:[NSURLSession sharedSession] completionBlock:^(NSURL * _Nonnull URL, NSHTTPURLResponse * _Nonnull HTTPResponse, NSError * _Nullable error) { + [[SRGAkamaiToken tokenizeURL:[NSURL URLWithString:@"https://srgssruni11ch-lh.akamaihd.net/i/enc11uni_ch@191455/master.m3u8"] withSession:[NSURLSession sharedSession] completionBlock:^(NSURL * _Nonnull URL, NSHTTPURLResponse * _Nonnull HTTPResponse, NSError * _Nullable error) { XCTAssertNotNil(TestURLParameter(URL, @"hdnts")); XCTAssertEqual(HTTPResponse.statusCode, 200); XCTAssertNil(error); @@ -44,7 +44,7 @@ - (void)testTokenizeAkamaiURLWithParameters { XCTestExpectation *expectation = [self expectationWithDescription:@"Request ended"]; - [[SRGAkamaiToken tokenizeURL:[NSURL URLWithString:@"https://srgssruni1ch-lh.akamaihd.net/i/enc1uni_ch@190951/master.m3u8&dw=0&__b__=800"] withSession:[NSURLSession sharedSession] completionBlock:^(NSURL * _Nonnull URL, NSHTTPURLResponse * _Nonnull HTTPResponse, NSError * _Nullable error) { + [[SRGAkamaiToken tokenizeURL:[NSURL URLWithString:@"https://srgssruni11ch-lh.akamaihd.net/i/enc11uni_ch@191455/master.m3u8&dw=0&__b__=800"] withSession:[NSURLSession sharedSession] completionBlock:^(NSURL * _Nonnull URL, NSHTTPURLResponse * _Nonnull HTTPResponse, NSError * _Nullable error) { XCTAssertNotNil(TestURLParameter(URL, @"hdnts")); XCTAssertNotNil(TestURLParameter(URL, @"dw")); XCTAssertNotNil(TestURLParameter(URL, @"__b__")); diff --git a/Tests/SRGContentProtectionTests/FairPlayResourceLoaderTestCase.m b/Tests/SRGContentProtectionTests/FairPlayResourceLoaderTestCase.m index b2243f7..8ea9197 100644 --- a/Tests/SRGContentProtectionTests/FairPlayResourceLoaderTestCase.m +++ b/Tests/SRGContentProtectionTests/FairPlayResourceLoaderTestCase.m @@ -35,7 +35,7 @@ - (void)testProtectedResourcePlaybackWithParameter - (void)testNonProtectedResourcePlayback { - NSURL *URL = [NSURL URLWithString:@"http://tagesschau-lh.akamaihd.net/i/tagesschau_1@119231/master.m3u8"]; + NSURL *URL = [NSURL URLWithString:@"https://rtsc3video-lh.akamaihd.net/i/rtsc3video_ww@513975/master.m3u8"]; AVURLAsset *asset = [AVURLAsset srg_fairPlayProtectedAssetWithURL:URL certificateURL:FairPlayCertificateURL() options:nil]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; @@ -48,7 +48,7 @@ - (void)testNonProtectedResourcePlayback - (void)testNonProtectedResourcePlaybackWithParameter { - NSURL *URL = [NSURL URLWithString:@"http://tagesschau-lh.akamaihd.net/i/tagesschau_1@119231/master.m3u8?__b__=800"]; + NSURL *URL = [NSURL URLWithString:@"https://rtsc3video-lh.akamaihd.net/i/rtsc3video_ww@513975/master.m3u8?__b__=800"]; AVURLAsset *asset = [AVURLAsset srg_fairPlayProtectedAssetWithURL:URL certificateURL:FairPlayCertificateURL() options:nil]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; From 9ee1a64560795aa9e4976ab0b643ddc9d4bcf52b Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Wed, 8 Jun 2022 10:28:30 +0200 Subject: [PATCH 09/22] Update fastlane --- Gemfile.lock | 60 ++++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 80005d6..ba734c7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -8,20 +8,20 @@ GEM artifactory (3.0.15) atomos (0.1.3) aws-eventstream (1.2.0) - aws-partitions (1.554.0) - aws-sdk-core (3.126.0) + aws-partitions (1.597.0) + aws-sdk-core (3.131.1) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.525.0) aws-sigv4 (~> 1.1) - jmespath (~> 1.0) - aws-sdk-kms (1.54.0) - aws-sdk-core (~> 3, >= 3.126.0) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.57.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.112.0) - aws-sdk-core (~> 3, >= 3.126.0) + aws-sdk-s3 (1.114.0) + aws-sdk-core (~> 3, >= 3.127.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.4) - aws-sigv4 (1.4.0) + aws-sigv4 (1.5.0) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) claide (1.0.3) @@ -36,8 +36,8 @@ GEM unf (>= 0.0.5, < 1.0.0) dotenv (2.7.6) emoji_regex (3.2.3) - excon (0.91.0) - faraday (1.9.3) + excon (0.92.3) + faraday (1.10.0) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) @@ -56,8 +56,8 @@ GEM faraday-em_synchrony (1.0.0) faraday-excon (1.1.0) faraday-httpclient (1.0.1) - faraday-multipart (1.0.3) - multipart-post (>= 1.2, < 3) + faraday-multipart (1.0.4) + multipart-post (~> 2) faraday-net_http (1.0.1) faraday-net_http_persistent (1.2.0) faraday-patron (1.0.0) @@ -66,7 +66,7 @@ GEM faraday_middleware (1.2.0) faraday (~> 1.0) fastimage (2.2.6) - fastlane (2.204.3) + fastlane (2.206.2) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -106,9 +106,9 @@ GEM xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) gh_inspector (1.1.3) - google-apis-androidpublisher_v3 (0.16.0) + google-apis-androidpublisher_v3 (0.21.0) google-apis-core (>= 0.4, < 2.a) - google-apis-core (0.4.2) + google-apis-core (0.5.0) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -121,15 +121,15 @@ GEM google-apis-core (>= 0.4, < 2.a) google-apis-playcustomapp_v1 (0.7.0) google-apis-core (>= 0.4, < 2.a) - google-apis-storage_v1 (0.11.0) + google-apis-storage_v1 (0.14.0) google-apis-core (>= 0.4, < 2.a) google-cloud-core (1.6.0) google-cloud-env (~> 1.0) google-cloud-errors (~> 1.0) - google-cloud-env (1.5.0) - faraday (>= 0.17.3, < 2.0) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) google-cloud-errors (1.2.0) - google-cloud-storage (1.36.1) + google-cloud-storage (1.36.2) addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) @@ -137,20 +137,20 @@ GEM google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) - googleauth (1.1.1) - faraday (>= 0.17.3, < 2.0) + googleauth (1.1.3) + faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) memoist (~> 0.16) multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) highline (2.0.3) - http-cookie (1.0.4) + http-cookie (1.0.5) domain_name (~> 0.5) httpclient (2.8.3) - jmespath (1.6.0) - json (2.6.1) - jwt (2.3.0) + jmespath (1.6.1) + json (2.6.2) + jwt (2.4.1) memoist (0.16.2) mini_magick (4.11.0) mini_mime (1.1.2) @@ -161,9 +161,9 @@ GEM optparse (0.1.1) os (1.1.4) plist (3.6.0) - public_suffix (4.0.6) + public_suffix (4.0.7) rake (13.0.6) - representable (3.1.1) + representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) @@ -173,9 +173,9 @@ GEM ruby2_keywords (0.0.5) rubyzip (2.3.2) security (0.1.3) - signet (0.16.0) + signet (0.16.1) addressable (~> 2.8) - faraday (>= 0.17.3, < 2.0) + faraday (>= 0.17.5, < 3.0) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) simctl (1.6.8) @@ -192,7 +192,7 @@ GEM uber (0.1.0) unf (0.1.4) unf_ext - unf_ext (0.0.8) + unf_ext (0.0.8.2) unicode-display_width (1.8.0) webrick (1.7.0) word_wrap (1.0.0) From 918526f9f307e2d1d7ceac683f82ce3c3e7f3939 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Mon, 13 Jun 2022 18:17:41 +0200 Subject: [PATCH 10/22] Fastlane: set test language and test region --- fastlane/Fastfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index d828f1b..9ac69b4 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -91,7 +91,7 @@ def srg_xcodebuild(device, test_build) end def srg_test_xcargs - '-retry-tests-on-failure' + '-retry-tests-on-failure -testLanguage en -testRegion en-US' end def srg_xcodebuild_workspace(test_build) From 8a453db32912bff1fde893e5ea9e307370e669d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20De=CC=81fago?= Date: Wed, 29 Jun 2022 07:25:53 +0200 Subject: [PATCH 11/22] Ignore VS Code folder --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 3882e93..c6c703c 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,6 @@ xcuserdata /fastlane/*.xml /vendor -/.bundle \ No newline at end of file +/.bundle + +.vscode \ No newline at end of file From c465e2543deeb2d6c08daf2136e8b2e5643036e0 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Thu, 7 Jul 2022 18:18:39 +0200 Subject: [PATCH 12/22] Update stream urls --- Demo/Resources/MediaDemoConfiguration.plist | 4 ++-- .../AkamaiResourceLoaderTestCase.m | 8 ++++---- Tests/SRGContentProtectionTests/AkamaiTokenTestCase.m | 4 ++-- .../FairPlayResourceLoaderTestCase.m | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Demo/Resources/MediaDemoConfiguration.plist b/Demo/Resources/MediaDemoConfiguration.plist index d77ac77..25665ba 100644 --- a/Demo/Resources/MediaDemoConfiguration.plist +++ b/Demo/Resources/MediaDemoConfiguration.plist @@ -14,7 +14,7 @@ name Akamai token-protected HLS stream url - https://srgssruni11ch-lh.akamaihd.net/i/enc11uni_ch@191455/master.m3u8 + https://srgssrch.akamaized.net/hls/live/2022077/srgssr-hls-stream20-ch-dvr/master.m3u8 name @@ -56,7 +56,7 @@ name Akamai MP3 stream url - https://srfaudio-a.akamaihd.net/delivery/world/75f44907-4638-422d-bc80-bbb14c9d9c93.mp3 + https://rts-aod-dd.akamaized.net/ww/13141009/51a55d34-ce77-33ab-8a01-b01c4ffbc56f.mp3 diff --git a/Tests/SRGContentProtectionTests/AkamaiResourceLoaderTestCase.m b/Tests/SRGContentProtectionTests/AkamaiResourceLoaderTestCase.m index 2325c12..e915f0f 100644 --- a/Tests/SRGContentProtectionTests/AkamaiResourceLoaderTestCase.m +++ b/Tests/SRGContentProtectionTests/AkamaiResourceLoaderTestCase.m @@ -20,7 +20,7 @@ @implementation AkamaiResourceLoaderTestCase - (void)testProtectedResourcePlayback { - NSURL *URL = [NSURL URLWithString:@"https://srgssruni11ch-lh.akamaihd.net/i/enc11uni_ch@191455/master.m3u8"]; + NSURL *URL = [NSURL URLWithString:@"https://srgssrch.akamaized.net/hls/live/2022077/srgssr-hls-stream20-ch-dvr/master.m3u8"]; AVURLAsset *asset = [AVURLAsset srg_akamaiTokenProtectedAssetWithURL:URL options:nil]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; @@ -33,7 +33,7 @@ - (void)testProtectedResourcePlayback - (void)testProtectedResourcePlaybackWithParameter { - NSURL *URL = [NSURL URLWithString:@"https://srgssruni11ch-lh.akamaihd.net/i/enc11uni_ch@191455/master.m3u8?__b__=800"]; + NSURL *URL = [NSURL URLWithString:@"https://srgssrch.akamaized.net/hls/live/2022077/srgssr-hls-stream20-ch-dvr/master.m3u8?__b__=800"]; AVURLAsset *asset = [AVURLAsset srg_akamaiTokenProtectedAssetWithURL:URL options:nil]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; @@ -46,7 +46,7 @@ - (void)testProtectedResourcePlaybackWithParameter - (void)testNonProtectedResourcePlayback { - NSURL *URL = [NSURL URLWithString:@"https://rtsc3video-lh.akamaihd.net/i/rtsc3video_ww@513975/master.m3u8"]; + NSURL *URL = [NSURL URLWithString:@"https://rtsc3video.akamaized.net/hls/live/2042837/c3video/3/playlist.m3u8"]; AVURLAsset *asset = [AVURLAsset srg_akamaiTokenProtectedAssetWithURL:URL options:nil]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; @@ -59,7 +59,7 @@ - (void)testNonProtectedResourcePlayback - (void)testNonProtectedResourcePlaybackWithParameter { - NSURL *URL = [NSURL URLWithString:@"https://rtsc3video-lh.akamaihd.net/i/rtsc3video_ww@513975/master.m3u8?__b__=800"]; + NSURL *URL = [NSURL URLWithString:@"https://rtsc3video.akamaized.net/hls/live/2042837/c3video/3/playlist.m3u8?__b__=800"]; AVURLAsset *asset = [AVURLAsset srg_akamaiTokenProtectedAssetWithURL:URL options:nil]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; diff --git a/Tests/SRGContentProtectionTests/AkamaiTokenTestCase.m b/Tests/SRGContentProtectionTests/AkamaiTokenTestCase.m index 69b0b5c..a68642d 100644 --- a/Tests/SRGContentProtectionTests/AkamaiTokenTestCase.m +++ b/Tests/SRGContentProtectionTests/AkamaiTokenTestCase.m @@ -30,7 +30,7 @@ - (void)testTokenizeAkamaiURL { XCTestExpectation *expectation = [self expectationWithDescription:@"Request ended"]; - [[SRGAkamaiToken tokenizeURL:[NSURL URLWithString:@"https://srgssruni11ch-lh.akamaihd.net/i/enc11uni_ch@191455/master.m3u8"] withSession:[NSURLSession sharedSession] completionBlock:^(NSURL * _Nonnull URL, NSHTTPURLResponse * _Nonnull HTTPResponse, NSError * _Nullable error) { + [[SRGAkamaiToken tokenizeURL:[NSURL URLWithString:@"https://srgssrch.akamaized.net/hls/live/2022077/srgssr-hls-stream20-ch-dvr/master.m3u8"] withSession:[NSURLSession sharedSession] completionBlock:^(NSURL * _Nonnull URL, NSHTTPURLResponse * _Nonnull HTTPResponse, NSError * _Nullable error) { XCTAssertNotNil(TestURLParameter(URL, @"hdnts")); XCTAssertEqual(HTTPResponse.statusCode, 200); XCTAssertNil(error); @@ -44,7 +44,7 @@ - (void)testTokenizeAkamaiURLWithParameters { XCTestExpectation *expectation = [self expectationWithDescription:@"Request ended"]; - [[SRGAkamaiToken tokenizeURL:[NSURL URLWithString:@"https://srgssruni11ch-lh.akamaihd.net/i/enc11uni_ch@191455/master.m3u8&dw=0&__b__=800"] withSession:[NSURLSession sharedSession] completionBlock:^(NSURL * _Nonnull URL, NSHTTPURLResponse * _Nonnull HTTPResponse, NSError * _Nullable error) { + [[SRGAkamaiToken tokenizeURL:[NSURL URLWithString:@"https://srgssrch.akamaized.net/hls/live/2022077/srgssr-hls-stream20-ch-dvr/master.m3u8&dw=0&__b__=800"] withSession:[NSURLSession sharedSession] completionBlock:^(NSURL * _Nonnull URL, NSHTTPURLResponse * _Nonnull HTTPResponse, NSError * _Nullable error) { XCTAssertNotNil(TestURLParameter(URL, @"hdnts")); XCTAssertNotNil(TestURLParameter(URL, @"dw")); XCTAssertNotNil(TestURLParameter(URL, @"__b__")); diff --git a/Tests/SRGContentProtectionTests/FairPlayResourceLoaderTestCase.m b/Tests/SRGContentProtectionTests/FairPlayResourceLoaderTestCase.m index 8ea9197..696c4fd 100644 --- a/Tests/SRGContentProtectionTests/FairPlayResourceLoaderTestCase.m +++ b/Tests/SRGContentProtectionTests/FairPlayResourceLoaderTestCase.m @@ -35,7 +35,7 @@ - (void)testProtectedResourcePlaybackWithParameter - (void)testNonProtectedResourcePlayback { - NSURL *URL = [NSURL URLWithString:@"https://rtsc3video-lh.akamaihd.net/i/rtsc3video_ww@513975/master.m3u8"]; + NSURL *URL = [NSURL URLWithString:@"https://rtsc3video.akamaized.net/hls/live/2042837/c3video/3/playlist.m3u8"]; AVURLAsset *asset = [AVURLAsset srg_fairPlayProtectedAssetWithURL:URL certificateURL:FairPlayCertificateURL() options:nil]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; @@ -48,7 +48,7 @@ - (void)testNonProtectedResourcePlayback - (void)testNonProtectedResourcePlaybackWithParameter { - NSURL *URL = [NSURL URLWithString:@"https://rtsc3video-lh.akamaihd.net/i/rtsc3video_ww@513975/master.m3u8?__b__=800"]; + NSURL *URL = [NSURL URLWithString:@"https://rtsc3video.akamaized.net/hls/live/2042837/c3video/3/playlist.m3u8?__b__=800"]; AVURLAsset *asset = [AVURLAsset srg_fairPlayProtectedAssetWithURL:URL certificateURL:FairPlayCertificateURL() options:nil]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; @@ -74,7 +74,7 @@ - (void)testInvalidResourcePlayback - (void)testAkamaiMP3ResourcePlayback { - NSURL *URL = [NSURL URLWithString:@"https://srfaudio-a.akamaihd.net/delivery/world/75f44907-4638-422d-bc80-bbb14c9d9c93.mp3"]; + NSURL *URL = [NSURL URLWithString:@"https://rts-aod-dd.akamaized.net/ww/13141009/51a55d34-ce77-33ab-8a01-b01c4ffbc56f.mp3"]; AVURLAsset *asset = [AVURLAsset srg_fairPlayProtectedAssetWithURL:URL certificateURL:FairPlayCertificateURL() options:nil]; AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; From aa2d72b65fe86b824d0ff6f06bb9a815b09d5ed2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20De=CC=81fago?= Date: Fri, 8 Jul 2022 08:15:24 +0200 Subject: [PATCH 13/22] Fix non-working demo URL --- Demo/Resources/MediaDemoConfiguration.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Demo/Resources/MediaDemoConfiguration.plist b/Demo/Resources/MediaDemoConfiguration.plist index 25665ba..43dd76c 100644 --- a/Demo/Resources/MediaDemoConfiguration.plist +++ b/Demo/Resources/MediaDemoConfiguration.plist @@ -8,7 +8,7 @@ name Unprotected Akamai HLS stream url - https://rts-vod-amd.akamaized.net/ww/hls/10080791/545cbc27-0798-3d5e-ae1b-1aba03c9a5b5/master.m3u8 + https://rts-vod-amd.akamaized.net/ww/13228673/edf35ff9-3ec1-3d47-9b9d-df5a3fa7f159/master.m3u8 name From cd9cf0ad1ba8923ca7898423be0aa5961ca6dad0 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Wed, 6 Jul 2022 19:37:39 +0200 Subject: [PATCH 14/22] Fastlane: build with Xcode 14 --- fastlane/Fastfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 9ac69b4..9ddb7ae 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -17,7 +17,7 @@ platform :ios do before_all do ensure_git_status_clean - xcversion(version: '~> 13') + xcversion(version: '~> 14') end desc 'Run library tests' From 6eb841693476e23be01d9d49160da8aac0daf7d5 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Thu, 7 Jul 2022 18:28:18 +0200 Subject: [PATCH 15/22] Update minimum deployment targets --- Demo/Demo.xcconfig | 2 +- Demo/Sources/Demos/DemosViewController.m | 2 +- Package.swift | 2 +- docs/README.md | 4 +--- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Demo/Demo.xcconfig b/Demo/Demo.xcconfig index bc00a71..b515f42 100644 --- a/Demo/Demo.xcconfig +++ b/Demo/Demo.xcconfig @@ -2,7 +2,7 @@ MARKETING_VERSION = 3.0.5 // Deployment targets -IPHONEOS_DEPLOYMENT_TARGET = 9.0 +IPHONEOS_DEPLOYMENT_TARGET = 12.0 TVOS_DEPLOYMENT_TARGET = 12.0 // Configuration to have a single target built for all platforms diff --git a/Demo/Sources/Demos/DemosViewController.m b/Demo/Sources/Demos/DemosViewController.m index b4d9026..8f285d2 100644 --- a/Demo/Sources/Demos/DemosViewController.m +++ b/Demo/Sources/Demos/DemosViewController.m @@ -147,7 +147,7 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath AVPlayerViewController *playerViewController = [[AVPlayerViewController alloc] init]; playerViewController.player = player; - if (@available(iOS 9, tvOS 14, *)) { + if (@available(iOS 12, tvOS 14, *)) { playerViewController.allowsPictureInPicturePlayback = NO; } diff --git a/Package.swift b/Package.swift index 46c9415..2ae8be9 100644 --- a/Package.swift +++ b/Package.swift @@ -10,7 +10,7 @@ let package = Package( name: "SRGContentProtection", defaultLocalization: "en", platforms: [ - .iOS(.v9), + .iOS(.v12), .tvOS(.v12) ], products: [ diff --git a/docs/README.md b/docs/README.md index 30a8c59..f30b770 100644 --- a/docs/README.md +++ b/docs/README.md @@ -11,7 +11,7 @@ The SRG Content Protection framework contains the logic required for encrypted m ## Compatibility -The library is suitable for applications running on iOS 9, tvOS 12 and above. The project is meant to be compiled with the latest Xcode version. +The library is suitable for applications running on iOS 12, tvOS 12 and above. The project is meant to be compiled with the latest Xcode version. ## Contributing @@ -45,8 +45,6 @@ If the protection used does not match the one required by the content, playback FairPlay stream playback requires a physical iOS device. Streams will not play in the simulator. -While the HLS specification allows relative URLs in playlist, this implementation supports only Akamai master playlists containing full URLs only (for variants and video / audio / subtitles tracks) on iOS 9 and iOS 10. - ## License See the [LICENSE](../LICENSE) file for more information. From e6ab6c0a39a75b2b029cdd15f7f1bf0f20970505 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Thu, 7 Jul 2022 18:30:32 +0200 Subject: [PATCH 16/22] Update Xcode version --- .../xcode/xcshareddata/xcschemes/SRGContentProtection.xcscheme | 2 +- Demo/SRGContentProtection-demo.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/SRGContentProtection-demo.xcscheme | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.swiftpm/xcode/xcshareddata/xcschemes/SRGContentProtection.xcscheme b/.swiftpm/xcode/xcshareddata/xcschemes/SRGContentProtection.xcscheme index 5a3909a..79aa207 100644 --- a/.swiftpm/xcode/xcshareddata/xcschemes/SRGContentProtection.xcscheme +++ b/.swiftpm/xcode/xcshareddata/xcschemes/SRGContentProtection.xcscheme @@ -1,6 +1,6 @@ Date: Thu, 7 Jul 2022 18:30:52 +0200 Subject: [PATCH 17/22] Apply recommend settings DEAD_CODE_STRIPPING --- Demo/SRGContentProtection-demo.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Demo/SRGContentProtection-demo.xcodeproj/project.pbxproj b/Demo/SRGContentProtection-demo.xcodeproj/project.pbxproj index e60c740..023a302 100644 --- a/Demo/SRGContentProtection-demo.xcodeproj/project.pbxproj +++ b/Demo/SRGContentProtection-demo.xcodeproj/project.pbxproj @@ -262,6 +262,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = dwarf; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; @@ -325,6 +326,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; From b208bf0e668454495ede339da9027579eb17ea2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20De=CC=81fago?= Date: Fri, 8 Jul 2022 08:15:16 +0200 Subject: [PATCH 18/22] Update dependencies --- .../xcshareddata/swiftpm/Package.resolved | 30 +++++++++---------- Package.resolved | 30 +++++++++---------- Package.swift | 4 +-- 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved index 7e08c61..1694291 100644 --- a/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -5,45 +5,45 @@ "package": "libextobjc", "repositoryURL": "https://github.com/SRGSSR/libextobjc.git", "state": { - "branch": null, - "revision": "30ee5b73bdf57a826978aa146881277f22369be1", - "version": "0.6.0-srg3" + "branch": "master", + "revision": "9c9a7327410fe3f7cdb695965ced43b9a7766ee0", + "version": null } }, { "package": "MAKVONotificationCenter", "repositoryURL": "https://github.com/SRGSSR/MAKVONotificationCenter.git", "state": { - "branch": null, - "revision": "60395e0601ffd4a784856b423d4cac558366276d", - "version": "1.0.0-srg5" + "branch": "master", + "revision": "8bde3cdc872085bd31f4cfe546bdf8e6932a0806", + "version": null } }, { "package": "SRGDiagnostics", "repositoryURL": "https://github.com/SRGSSR/srgdiagnostics-apple.git", "state": { - "branch": null, - "revision": "9921cec150a83df60fe4cde41ffb9e3209b21e92", - "version": "3.0.2" + "branch": "feature/ios16-tvos16-xcode14", + "revision": "5aade8a4fdeff3b6be17d620f3ebd746dae75112", + "version": null } }, { "package": "SRGLogger", "repositoryURL": "https://github.com/SRGSSR/srglogger-apple.git", "state": { - "branch": null, - "revision": "5840af9ccbbc23a1269ff53feb3832f56ffde1eb", - "version": "3.0.2" + "branch": "develop", + "revision": "318d30c30b5979732137949f0987277f5c703931", + "version": null } }, { "package": "SRGNetwork", "repositoryURL": "https://github.com/SRGSSR/srgnetwork-apple.git", "state": { - "branch": null, - "revision": "9d79d6649de885876577c28e7b19f24f7ce16399", - "version": "3.0.3" + "branch": "feature/ios16-tvos16-xcode14", + "revision": "fa4b57b56d78f0fe6711409df3aa3d3c4bf278d0", + "version": null } } ] diff --git a/Package.resolved b/Package.resolved index 7e08c61..1694291 100644 --- a/Package.resolved +++ b/Package.resolved @@ -5,45 +5,45 @@ "package": "libextobjc", "repositoryURL": "https://github.com/SRGSSR/libextobjc.git", "state": { - "branch": null, - "revision": "30ee5b73bdf57a826978aa146881277f22369be1", - "version": "0.6.0-srg3" + "branch": "master", + "revision": "9c9a7327410fe3f7cdb695965ced43b9a7766ee0", + "version": null } }, { "package": "MAKVONotificationCenter", "repositoryURL": "https://github.com/SRGSSR/MAKVONotificationCenter.git", "state": { - "branch": null, - "revision": "60395e0601ffd4a784856b423d4cac558366276d", - "version": "1.0.0-srg5" + "branch": "master", + "revision": "8bde3cdc872085bd31f4cfe546bdf8e6932a0806", + "version": null } }, { "package": "SRGDiagnostics", "repositoryURL": "https://github.com/SRGSSR/srgdiagnostics-apple.git", "state": { - "branch": null, - "revision": "9921cec150a83df60fe4cde41ffb9e3209b21e92", - "version": "3.0.2" + "branch": "feature/ios16-tvos16-xcode14", + "revision": "5aade8a4fdeff3b6be17d620f3ebd746dae75112", + "version": null } }, { "package": "SRGLogger", "repositoryURL": "https://github.com/SRGSSR/srglogger-apple.git", "state": { - "branch": null, - "revision": "5840af9ccbbc23a1269ff53feb3832f56ffde1eb", - "version": "3.0.2" + "branch": "develop", + "revision": "318d30c30b5979732137949f0987277f5c703931", + "version": null } }, { "package": "SRGNetwork", "repositoryURL": "https://github.com/SRGSSR/srgnetwork-apple.git", "state": { - "branch": null, - "revision": "9d79d6649de885876577c28e7b19f24f7ce16399", - "version": "3.0.3" + "branch": "feature/ios16-tvos16-xcode14", + "revision": "fa4b57b56d78f0fe6711409df3aa3d3c4bf278d0", + "version": null } } ] diff --git a/Package.swift b/Package.swift index 2ae8be9..4ebbca7 100644 --- a/Package.swift +++ b/Package.swift @@ -20,8 +20,8 @@ let package = Package( ) ], dependencies: [ - .package(name: "SRGDiagnostics", url: "https://github.com/SRGSSR/srgdiagnostics-apple.git", .upToNextMinor(from: "3.0.0")), - .package(name: "SRGNetwork", url: "https://github.com/SRGSSR/srgnetwork-apple.git", .upToNextMinor(from: "3.0.0")) + .package(name: "SRGDiagnostics", url: "https://github.com/SRGSSR/srgdiagnostics-apple.git", .branch("feature/ios16-tvos16-xcode14")), + .package(name: "SRGNetwork", url: "https://github.com/SRGSSR/srgnetwork-apple.git", .branch("feature/ios16-tvos16-xcode14")) ], targets: [ .target( From 14ca3b7a63d02a9b85f3c3765c895ebac5b49032 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20De=CC=81fago?= Date: Thu, 14 Jul 2022 10:31:50 +0200 Subject: [PATCH 19/22] Update dependencies --- .../xcshareddata/swiftpm/Package.resolved | 8 ++++---- Package.resolved | 8 ++++---- Package.swift | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved index 1694291..b2d9ed0 100644 --- a/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -23,8 +23,8 @@ "package": "SRGDiagnostics", "repositoryURL": "https://github.com/SRGSSR/srgdiagnostics-apple.git", "state": { - "branch": "feature/ios16-tvos16-xcode14", - "revision": "5aade8a4fdeff3b6be17d620f3ebd746dae75112", + "branch": "develop", + "revision": "7a69fbcd1577a4317aa829b2d0afd9c061d279d8", "version": null } }, @@ -41,8 +41,8 @@ "package": "SRGNetwork", "repositoryURL": "https://github.com/SRGSSR/srgnetwork-apple.git", "state": { - "branch": "feature/ios16-tvos16-xcode14", - "revision": "fa4b57b56d78f0fe6711409df3aa3d3c4bf278d0", + "branch": "develop", + "revision": "dedfb9032837c72ec1c3365f3dfb3ff04d65ec75", "version": null } } diff --git a/Package.resolved b/Package.resolved index 1694291..b2d9ed0 100644 --- a/Package.resolved +++ b/Package.resolved @@ -23,8 +23,8 @@ "package": "SRGDiagnostics", "repositoryURL": "https://github.com/SRGSSR/srgdiagnostics-apple.git", "state": { - "branch": "feature/ios16-tvos16-xcode14", - "revision": "5aade8a4fdeff3b6be17d620f3ebd746dae75112", + "branch": "develop", + "revision": "7a69fbcd1577a4317aa829b2d0afd9c061d279d8", "version": null } }, @@ -41,8 +41,8 @@ "package": "SRGNetwork", "repositoryURL": "https://github.com/SRGSSR/srgnetwork-apple.git", "state": { - "branch": "feature/ios16-tvos16-xcode14", - "revision": "fa4b57b56d78f0fe6711409df3aa3d3c4bf278d0", + "branch": "develop", + "revision": "dedfb9032837c72ec1c3365f3dfb3ff04d65ec75", "version": null } } diff --git a/Package.swift b/Package.swift index 4ebbca7..6b80b9d 100644 --- a/Package.swift +++ b/Package.swift @@ -20,8 +20,8 @@ let package = Package( ) ], dependencies: [ - .package(name: "SRGDiagnostics", url: "https://github.com/SRGSSR/srgdiagnostics-apple.git", .branch("feature/ios16-tvos16-xcode14")), - .package(name: "SRGNetwork", url: "https://github.com/SRGSSR/srgnetwork-apple.git", .branch("feature/ios16-tvos16-xcode14")) + .package(name: "SRGDiagnostics", url: "https://github.com/SRGSSR/srgdiagnostics-apple.git", .branch("develop")), + .package(name: "SRGNetwork", url: "https://github.com/SRGSSR/srgnetwork-apple.git", .branch("develop")) ], targets: [ .target( From d1ce4f1eadd3496b11240499bc43e1259488e802 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Thu, 11 Aug 2022 16:11:20 +0200 Subject: [PATCH 20/22] Update fastlane to 2.208.0 --- Gemfile.lock | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ba734c7..426d0bc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -8,23 +8,23 @@ GEM artifactory (3.0.15) atomos (0.1.3) aws-eventstream (1.2.0) - aws-partitions (1.597.0) - aws-sdk-core (3.131.1) + aws-partitions (1.616.0) + aws-sdk-core (3.132.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.525.0) aws-sigv4 (~> 1.1) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.57.0) + aws-sdk-kms (1.58.0) aws-sdk-core (~> 3, >= 3.127.0) aws-sigv4 (~> 1.1) aws-sdk-s3 (1.114.0) aws-sdk-core (~> 3, >= 3.127.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.4) - aws-sigv4 (1.5.0) + aws-sigv4 (1.5.1) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) - claide (1.0.3) + claide (1.1.0) colored (1.2) colored2 (3.1.2) commander (4.6.0) @@ -34,10 +34,10 @@ GEM rake (>= 12.0.0, < 14.0.0) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) - dotenv (2.7.6) + dotenv (2.8.1) emoji_regex (3.2.3) - excon (0.92.3) - faraday (1.10.0) + excon (0.92.4) + faraday (1.10.1) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) @@ -66,7 +66,7 @@ GEM faraday_middleware (1.2.0) faraday (~> 1.0) fastimage (2.2.6) - fastlane (2.206.2) + fastlane (2.208.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -106,9 +106,9 @@ GEM xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) gh_inspector (1.1.3) - google-apis-androidpublisher_v3 (0.21.0) - google-apis-core (>= 0.4, < 2.a) - google-apis-core (0.5.0) + google-apis-androidpublisher_v3 (0.25.0) + google-apis-core (>= 0.7, < 2.a) + google-apis-core (0.7.0) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -117,27 +117,27 @@ GEM retriable (>= 2.0, < 4.a) rexml webrick - google-apis-iamcredentials_v1 (0.10.0) - google-apis-core (>= 0.4, < 2.a) - google-apis-playcustomapp_v1 (0.7.0) - google-apis-core (>= 0.4, < 2.a) - google-apis-storage_v1 (0.14.0) - google-apis-core (>= 0.4, < 2.a) + google-apis-iamcredentials_v1 (0.13.0) + google-apis-core (>= 0.7, < 2.a) + google-apis-playcustomapp_v1 (0.10.0) + google-apis-core (>= 0.7, < 2.a) + google-apis-storage_v1 (0.17.0) + google-apis-core (>= 0.7, < 2.a) google-cloud-core (1.6.0) google-cloud-env (~> 1.0) google-cloud-errors (~> 1.0) google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) google-cloud-errors (1.2.0) - google-cloud-storage (1.36.2) + google-cloud-storage (1.38.0) addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.17.0) google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) - googleauth (1.1.3) + googleauth (1.2.0) faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) memoist (~> 0.16) @@ -173,9 +173,9 @@ GEM ruby2_keywords (0.0.5) rubyzip (2.3.2) security (0.1.3) - signet (0.16.1) + signet (0.17.0) addressable (~> 2.8) - faraday (>= 0.17.5, < 3.0) + faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) simctl (1.6.8) @@ -196,10 +196,10 @@ GEM unicode-display_width (1.8.0) webrick (1.7.0) word_wrap (1.0.0) - xcode-install (2.8.0) - claide (>= 0.9.1, < 1.1.0) + xcode-install (2.8.1) + claide (>= 0.9.1) fastlane (>= 2.1.0, < 3.0.0) - xcodeproj (1.21.0) + xcodeproj (1.22.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) From df2f08035a4a7d318c0adf3d24fb8978d46dcb15 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Thu, 11 Aug 2022 19:38:35 +0200 Subject: [PATCH 21/22] Update dependencies to official tags --- .../xcshareddata/swiftpm/Package.resolved | 26 +++++++++---------- Package.resolved | 26 +++++++++---------- Package.swift | 4 +-- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved index b2d9ed0..31d1baa 100644 --- a/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Demo/SRGContentProtection-demo.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -5,45 +5,45 @@ "package": "libextobjc", "repositoryURL": "https://github.com/SRGSSR/libextobjc.git", "state": { - "branch": "master", + "branch": null, "revision": "9c9a7327410fe3f7cdb695965ced43b9a7766ee0", - "version": null + "version": "0.6.0-srg4" } }, { "package": "MAKVONotificationCenter", "repositoryURL": "https://github.com/SRGSSR/MAKVONotificationCenter.git", "state": { - "branch": "master", + "branch": null, "revision": "8bde3cdc872085bd31f4cfe546bdf8e6932a0806", - "version": null + "version": "1.0.0-srg6" } }, { "package": "SRGDiagnostics", "repositoryURL": "https://github.com/SRGSSR/srgdiagnostics-apple.git", "state": { - "branch": "develop", - "revision": "7a69fbcd1577a4317aa829b2d0afd9c061d279d8", - "version": null + "branch": null, + "revision": "c595e8f186eb41335f0ea48848543ab3804ea22e", + "version": "3.1.0" } }, { "package": "SRGLogger", "repositoryURL": "https://github.com/SRGSSR/srglogger-apple.git", "state": { - "branch": "develop", - "revision": "318d30c30b5979732137949f0987277f5c703931", - "version": null + "branch": null, + "revision": "dd98468422044b53e283d970809b8502e1ef5b8d", + "version": "3.1.0" } }, { "package": "SRGNetwork", "repositoryURL": "https://github.com/SRGSSR/srgnetwork-apple.git", "state": { - "branch": "develop", - "revision": "dedfb9032837c72ec1c3365f3dfb3ff04d65ec75", - "version": null + "branch": null, + "revision": "153a2544391c1aaccae2d38d8b113fd0a03421b8", + "version": "3.1.0" } } ] diff --git a/Package.resolved b/Package.resolved index b2d9ed0..31d1baa 100644 --- a/Package.resolved +++ b/Package.resolved @@ -5,45 +5,45 @@ "package": "libextobjc", "repositoryURL": "https://github.com/SRGSSR/libextobjc.git", "state": { - "branch": "master", + "branch": null, "revision": "9c9a7327410fe3f7cdb695965ced43b9a7766ee0", - "version": null + "version": "0.6.0-srg4" } }, { "package": "MAKVONotificationCenter", "repositoryURL": "https://github.com/SRGSSR/MAKVONotificationCenter.git", "state": { - "branch": "master", + "branch": null, "revision": "8bde3cdc872085bd31f4cfe546bdf8e6932a0806", - "version": null + "version": "1.0.0-srg6" } }, { "package": "SRGDiagnostics", "repositoryURL": "https://github.com/SRGSSR/srgdiagnostics-apple.git", "state": { - "branch": "develop", - "revision": "7a69fbcd1577a4317aa829b2d0afd9c061d279d8", - "version": null + "branch": null, + "revision": "c595e8f186eb41335f0ea48848543ab3804ea22e", + "version": "3.1.0" } }, { "package": "SRGLogger", "repositoryURL": "https://github.com/SRGSSR/srglogger-apple.git", "state": { - "branch": "develop", - "revision": "318d30c30b5979732137949f0987277f5c703931", - "version": null + "branch": null, + "revision": "dd98468422044b53e283d970809b8502e1ef5b8d", + "version": "3.1.0" } }, { "package": "SRGNetwork", "repositoryURL": "https://github.com/SRGSSR/srgnetwork-apple.git", "state": { - "branch": "develop", - "revision": "dedfb9032837c72ec1c3365f3dfb3ff04d65ec75", - "version": null + "branch": null, + "revision": "153a2544391c1aaccae2d38d8b113fd0a03421b8", + "version": "3.1.0" } } ] diff --git a/Package.swift b/Package.swift index 6b80b9d..faac0c9 100644 --- a/Package.swift +++ b/Package.swift @@ -20,8 +20,8 @@ let package = Package( ) ], dependencies: [ - .package(name: "SRGDiagnostics", url: "https://github.com/SRGSSR/srgdiagnostics-apple.git", .branch("develop")), - .package(name: "SRGNetwork", url: "https://github.com/SRGSSR/srgnetwork-apple.git", .branch("develop")) + .package(name: "SRGDiagnostics", url: "https://github.com/SRGSSR/srgdiagnostics-apple.git", .upToNextMinor(from: "3.1.0")), + .package(name: "SRGNetwork", url: "https://github.com/SRGSSR/srgnetwork-apple.git", .upToNextMinor(from: "3.1.0")) ], targets: [ .target( From 63652fc2a35415544ee2b4d28790c29f64ae761d Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bertholon Date: Thu, 11 Aug 2022 19:39:07 +0200 Subject: [PATCH 22/22] Bump version number --- Demo/Demo.xcconfig | 2 +- Package.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Demo/Demo.xcconfig b/Demo/Demo.xcconfig index b515f42..7a455ce 100644 --- a/Demo/Demo.xcconfig +++ b/Demo/Demo.xcconfig @@ -1,5 +1,5 @@ // Version information -MARKETING_VERSION = 3.0.5 +MARKETING_VERSION = 3.1.0 // Deployment targets IPHONEOS_DEPLOYMENT_TARGET = 12.0 diff --git a/Package.swift b/Package.swift index faac0c9..e960471 100644 --- a/Package.swift +++ b/Package.swift @@ -3,7 +3,7 @@ import PackageDescription struct ProjectSettings { - static let marketingVersion: String = "3.0.5" + static let marketingVersion: String = "3.1.0" } let package = Package(