diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 58c8d55..feb5ded 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,10 +11,10 @@ on: jobs: build: - runs-on: macos-13 + runs-on: macos-14 env: - XCODE: /Applications/Xcode_14.3.1.app - XCODE_SDK: iphoneos16.4 + XCODE: /Applications/Xcode_15.2.app + XCODE_SDK: iphoneos17.2 steps: - uses: actions/checkout@v4 - name: Select Xcode Version @@ -24,7 +24,7 @@ jobs: - name: Show CocoaPods Version run: pod --version - name: Restore Pods - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: Pods key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} @@ -50,7 +50,8 @@ jobs: CODE_SIGNING_REQUIRED=NO \ CODE_SIGNING_ALLOWED=NO \ CODE_SIGN_IDENTITY= \ - PROVISIONING_PROFILE= + PROVISIONING_PROFILE= \ + ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOLS=NO - name: Check uncommitted unformatted code run: | ./lint-format.sh diff --git a/.swift-version b/.swift-version index 7acd1cb..3659ea2 100644 --- a/.swift-version +++ b/.swift-version @@ -1 +1 @@ -5.5.1 +5.8 diff --git a/CHANGES.md b/CHANGES.md index a3b080c..0de6051 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,25 @@ ## develop +## sora-ios-sdk-2024.2.0 + +- [UPDATE] Github Actions を actions/cache@v4 にあげる + - @miosakuma +- [UPDATE] Github Actions を macos-14 にあげる + - @miosakuma +- [UPDATE] Github Actions を Xcode 15.2, iphoneos17.2 にあげる + - @miosakuma +- [UPDATE] Github Actions のビルドオプションに `ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOLS=NO` を追加する + - Xcode 15 で Asset のシンボルである、GeneratedAssetSymbols.swift が生成されるようになったがこのファイルが SwiftFormat エラー対象となる + - CI では Asset のシンボル生成は不要であるため生成しないようオプション指定を行う + - [Xcode 15 リリースノート - Asset Catalogs](https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Asset-Catalogs) + - @miosakuma +- [UPDATE] システム条件を変更する + - macOS 14.4.1 以降 + - Xcode 15.3 + - Swift 5.10 + - @miosakuma + ## sora-ios-sdk-2024.1.0 - [UPDATE] システム条件を変更する diff --git a/Podfile b/Podfile index 7140895..dbcfa40 100644 --- a/Podfile +++ b/Podfile @@ -5,7 +5,7 @@ platform :ios, '13.0' target 'SoraQuickStart' do use_frameworks! - pod 'Sora', '2024.1.0' + pod 'Sora', '2024.2.0' pod 'SwiftLint' pod 'SwiftFormat/CLI' diff --git a/README.md b/README.md index 09c098c..1923095 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,9 @@ Please read https://github.com/shiguredo/oss before use. - iOS 13 以降 - アーキテクチャ arm64 (シミュレーターの動作は未保証) -- macOS 14.3.1 以降 -- Xcode 15.2 -- Swift 5.9.2 +- macOS 14.4.1 以降 +- Xcode 15.3 +- Swift 5.10 - CocoaPods 1.15.2 以降 - WebRTC SFU Sora 2023.2.0 以降 @@ -41,3 +41,7 @@ Xcode と Swift のバージョンによっては、 CocoaPods で取得でき ``` 3. ``SoraQuickStart.xcworkspace`` を Xcode で開いてビルドします。 + +## ライセンス + +このリポジトリに含まれるすべてのアプリアイコン画像(すべての PNG 形式ファイル)のライセンスは [CC BY-NC-ND 4.0](https://creativecommons.org/licenses/by-nc-nd/4.0/deed.ja) です。 \ No newline at end of file diff --git a/SoraQuickStart/AppDelegate.swift b/SoraQuickStart/AppDelegate.swift index 0954a6f..94557e3 100644 --- a/SoraQuickStart/AppDelegate.swift +++ b/SoraQuickStart/AppDelegate.swift @@ -1,6 +1,6 @@ import UIKit -@UIApplicationMain +@main class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/100.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/100.png new file mode 100644 index 0000000..e5819fe Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/100.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/1024.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/1024.png new file mode 100644 index 0000000..711da3b Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/1024.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/114.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/114.png new file mode 100644 index 0000000..1a28a04 Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/114.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/120.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/120.png new file mode 100644 index 0000000..a09be5a Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/120.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/144.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/144.png new file mode 100644 index 0000000..372a6e5 Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/144.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/152.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/152.png new file mode 100644 index 0000000..bdb338b Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/152.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/167.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/167.png new file mode 100644 index 0000000..e4db9f1 Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/167.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/180.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/180.png new file mode 100644 index 0000000..1363652 Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/180.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/20.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/20.png new file mode 100644 index 0000000..31709ee Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/20.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/29.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/29.png new file mode 100644 index 0000000..ad56afd Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/29.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/40.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/40.png new file mode 100644 index 0000000..3e14a99 Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/40.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/50.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/50.png new file mode 100644 index 0000000..43f1cac Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/50.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/57.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/57.png new file mode 100644 index 0000000..ed5954c Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/57.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/58.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/58.png new file mode 100644 index 0000000..6d0041c Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/58.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/60.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/60.png new file mode 100644 index 0000000..acfd6b9 Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/60.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/72.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/72.png new file mode 100644 index 0000000..811cdb9 Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/72.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/76.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/76.png new file mode 100644 index 0000000..f7c1d15 Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/76.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/80.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/80.png new file mode 100644 index 0000000..4a06a4c Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/80.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/87.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/87.png new file mode 100644 index 0000000..d0b0ff1 Binary files /dev/null and b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/87.png differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/Contents.json b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/Contents.json index c2c49c6..4fdf882 100644 --- a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,103 +1,158 @@ { "images" : [ { + "filename" : "40.png", "idiom" : "iphone", - "size" : "20x20", - "scale" : "2x" + "scale" : "2x", + "size" : "20x20" }, { + "filename" : "60.png", "idiom" : "iphone", - "size" : "20x20", - "scale" : "3x" + "scale" : "3x", + "size" : "20x20" }, { + "filename" : "29.png", "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" + "scale" : "1x", + "size" : "29x29" }, { + "filename" : "58.png", "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" + "scale" : "2x", + "size" : "29x29" }, { + "filename" : "87.png", "idiom" : "iphone", - "size" : "40x40", - "scale" : "2x" + "scale" : "3x", + "size" : "29x29" }, { + "filename" : "80.png", "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" + "scale" : "2x", + "size" : "40x40" }, { - "size" : "60x60", + "filename" : "120.png", "idiom" : "iphone", - "filename" : "iphone-app@2x.png", - "scale" : "2x" + "scale" : "3x", + "size" : "40x40" }, { - "size" : "60x60", + "filename" : "57.png", "idiom" : "iphone", - "filename" : "iphone-app@3x.png", - "scale" : "3x" + "scale" : "1x", + "size" : "57x57" }, { + "filename" : "114.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "57x57" + }, + { + "filename" : "120.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "filename" : "180.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "filename" : "20.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "filename" : "40.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "29.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "58.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "40.png", "idiom" : "ipad", - "size" : "20x20", - "scale" : "1x" + "scale" : "1x", + "size" : "40x40" }, { + "filename" : "80.png", "idiom" : "ipad", - "size" : "20x20", - "scale" : "2x" + "scale" : "2x", + "size" : "40x40" }, { + "filename" : "50.png", "idiom" : "ipad", - "size" : "29x29", - "scale" : "1x" + "scale" : "1x", + "size" : "50x50" }, { + "filename" : "100.png", "idiom" : "ipad", - "size" : "29x29", - "scale" : "2x" + "scale" : "2x", + "size" : "50x50" }, { + "filename" : "72.png", "idiom" : "ipad", - "size" : "40x40", - "scale" : "1x" + "scale" : "1x", + "size" : "72x72" }, { + "filename" : "144.png", "idiom" : "ipad", - "size" : "40x40", - "scale" : "2x" + "scale" : "2x", + "size" : "72x72" }, { - "size" : "76x76", + "filename" : "76.png", "idiom" : "ipad", - "filename" : "ipad-app@1x.png", - "scale" : "1x" + "scale" : "1x", + "size" : "76x76" }, { - "size" : "76x76", + "filename" : "152.png", "idiom" : "ipad", - "filename" : "ipad-app@2x.png", - "scale" : "2x" + "scale" : "2x", + "size" : "76x76" }, { - "size" : "83.5x83.5", + "filename" : "167.png", "idiom" : "ipad", - "filename" : "ipad-pro-app@2x.png", - "scale" : "2x" + "scale" : "2x", + "size" : "83.5x83.5" }, { + "filename" : "1024.png", "idiom" : "ios-marketing", - "size" : "1024x1024", - "scale" : "1x" + "scale" : "1x", + "size" : "1024x1024" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/ipad-app@1x.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/ipad-app@1x.png deleted file mode 100644 index 0d15d21..0000000 Binary files a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/ipad-app@1x.png and /dev/null differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/ipad-app@2x.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/ipad-app@2x.png deleted file mode 100644 index 3fe6a85..0000000 Binary files a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/ipad-app@2x.png and /dev/null differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/ipad-pro-app@2x.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/ipad-pro-app@2x.png deleted file mode 100644 index 2cd62f1..0000000 Binary files a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/ipad-pro-app@2x.png and /dev/null differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/iphone-app@2x.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/iphone-app@2x.png deleted file mode 100644 index 526dd64..0000000 Binary files a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/iphone-app@2x.png and /dev/null differ diff --git a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/iphone-app@3x.png b/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/iphone-app@3x.png deleted file mode 100644 index 0177c4b..0000000 Binary files a/SoraQuickStart/Assets.xcassets/AppIcon.appiconset/iphone-app@3x.png and /dev/null differ diff --git a/SoraQuickStart/Assets.xcassets/Contents.json b/SoraQuickStart/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/SoraQuickStart/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SoraQuickStart/ViewController.swift b/SoraQuickStart/ViewController.swift index f5596d6..ae53299 100644 --- a/SoraQuickStart/ViewController.swift +++ b/SoraQuickStart/ViewController.swift @@ -83,7 +83,7 @@ class ViewController: UIViewController { guard let strongSelf = self else { return } - if let error = error { + if let error { NSLog(error.localizedDescription) DispatchQueue.main.async { let alertController = UIAlertController(title: "接続に失敗しました", @@ -101,7 +101,7 @@ class ViewController: UIViewController { // 接続試行中の状態を強制的に終了させることができます。 connectionTask = Sora.shared.connect(configuration: config) { mediaChannel, error in // 接続に失敗するとエラーが渡されます。 - if let error = error { + if let error { NSLog(error.localizedDescription) DispatchQueue.main.async { [weak self] in let alertController = UIAlertController(title: "接続に失敗しました",