Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

尝试实现watchOS声音外放及其开关 #401

Merged
merged 7 commits into from
Aug 28, 2024

Conversation

FengzihangCode
Copy link
Contributor

在SettingsView增加了ExternalSound,在VideoPlayerView增加了相应播放类型控制
由于缺少Developer ID因此没有在本地运行测试,麻烦跑一下Actions

在SettingsView增加了ExternalSound,在VideoPlayerView增加了相应播放类型控制
缺少Developer ID因此没有在本地运行测试,麻烦跑一下Actions
@WindowsMEMZ WindowsMEMZ self-requested a review August 27, 2024 11:56
Copy link
Member

@WindowsMEMZ WindowsMEMZ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

没看懂在做什么,iOS 设备(#if !os(watchOS))的音频总是支持外放的,不需要使用AVAudioSession控制。

MeowBili/Others/SettingsView.swift Outdated Show resolved Hide resolved
MeowBili/Video/VideoPlayerView.swift Show resolved Hide resolved
MeowBili/Video/VideoPlayerView.swift Show resolved Hide resolved
@FengzihangCode
Copy link
Contributor Author

修改了
My fault
这里的修改应该是在watchOS端进行的,所以说不是#if !os(watchOS)而是#if os(watchOS)
现在应该实现了

@WindowsMEMZ WindowsMEMZ self-requested a review August 27, 2024 12:50
WindowsMEMZ
WindowsMEMZ previously approved these changes Aug 27, 2024
@WindowsMEMZ
Copy link
Member

!Run check

@FengzihangCode
Copy link
Contributor Author

CI 配置中的 Xcode 设置似乎有问题

Run sudo xcode-select -s /Applications/Xcode_16_beta_5.app
xcode-select: error: invalid developer directory '/Applications/Xcode_16_beta_5.app'
Error: Process completed with exit code 1.

@WindowsMEMZ
Copy link
Member

CI 配置中的 Xcode 设置似乎有问题

Run sudo xcode-select -s /Applications/Xcode_16_beta_5.app xcode-select: error: invalid developer directory '/Applications/Xcode_16_beta_5.app' Error: Process completed with exit code 1.

容器更新了,稍等我更新配置

@WindowsMEMZ
Copy link
Member

!Run check

@FengzihangCode
Copy link
Contributor Author

CI验证的时候Error Code 65,怀疑是签名问题,但我这边应该无法处理这些问题

ChatGPT给出的解释如下:
从你提供的日志来看,GitHub Actions 中的 Error Code 65 与 Xcode 构建失败有关。日志中提到了一些重要的信息,可以帮助我们定位问题:
禁用预览:日志中多次提到由于 Swift 版本和优化级别设置的原因,禁用了 SwiftUI 预览功能。虽然这本身并不会导致构建失败,但它可能表明在你的项目配置中存在不一致的优化设置。
代码签名问题:日志中有警告信息指出,“MeowBili”和“MeowBili Watch App”目标没有进行代码签名,但需要启用相应的权限(entitlements)。如果你的项目需要某些权限,比如推送通知、iCloud、健康数据等,而这些目标未进行代码签名,这可能会导致构建失败。
运行脚本的配置:日志还提到运行脚本阶段“Run SwiftLint”和“Run Script”在每次构建时都会执行,因为这些阶段未启用“基于依赖分析”(Based on dependency analysis)的选项。这意味着每次构建都会执行这些脚本,可能会影响构建时间和性能,但通常不会导致构建失败。
解决方案
检查代码签名设置:确保项目中的所有目标都正确配置了代码签名。你可以在 Xcode 的“Signing & Capabilities”部分检查每个目标的签名设置。确保你有正确的开发者证书和描述文件。
调整优化设置:如果你不需要生产级别的优化设置,可以考虑在开发构建配置中将 SWIFT_OPTIMIZATION_LEVEL 设置为 -Onone。这有助于避免预览功能被禁用,同时可能避免其他构建问题。
查看权限配置:如果你的项目中使用了某些需要启用权限的功能(例如推送通知、iCloud),确保这些目标都已正确配置了 entitlements 文件,并且已进行代码签名。
本地验证:在本地尝试执行相同的构建命令,看看是否能复现相同的错误。如果能复现,使用 Xcode 的问题导航器或命令行构建工具 (xcodebuild) 查看更详细的错误信息。
确保所有依赖项正常配置:检查 CocoaPods、Carthage 或 Swift Package Manager 等工具的配置是否正确。确保它们已成功集成到项目中,且不会因为某些库的优化级别冲突导致构建失败。

@WindowsMEMZ
Copy link
Member

CI 没问题,你看到的是下面的 Warning 和 Note,错误在上面,帮你复制过来了:

/Users/runner/work/Darock-Bili/Darock-Bili/MeowBili/Others/SettingsView.swift:476:46: error: cannot find '$externalSound' in scope
                Toggle("声音外放", isOn: $externalSound)

@FengzihangCode
Copy link
Contributor Author

Okay谢谢 马上修

两个View中的声明全部统一为了@AppStorage("externalSound") var externalSound: Bool = false,由于之前在SettingsView中已经声明了externalSound却依旧显示cannot find $externalSound in scope,所以只能怀疑声明语句的不同导致了这个问题,因此明确了Bool类型;如果在不同的视图中对同一个@AppStorage属性使用不同的声明方式(即有的明确指定了类型,有的使用了类型推断),可能会导致编译器无法一致地处理该属性,进而导致cannot find $externalSound in scope这样的错误

个人推断,看看这一次CI能不能通过
@FengzihangCode
Copy link
Contributor Author

估计是SwiftUI的问题,现在把@AppStorage声明全部统一为了Bool后false,因为之前也声明了,但是就是没有识别到

@WindowsMEMZ WindowsMEMZ self-requested a review August 28, 2024 08:21
MeowBili/Others/SettingsView.swift Outdated Show resolved Hide resolved
现在修改了
希望没问题了
@FengzihangCode
Copy link
Contributor Author

现在提交的版本解决了

@WindowsMEMZ WindowsMEMZ self-requested a review August 28, 2024 09:34
@WindowsMEMZ
Copy link
Member

!Run check

@FengzihangCode
Copy link
Contributor Author

CI通过 现在应该解决了

@WindowsMEMZ WindowsMEMZ merged commit 148fff4 into Darock-Studio:main Aug 28, 2024
1 check passed
WindowsMEMZ pushed a commit that referenced this pull request Oct 12, 2024
* 尝试实现watchOS声音外放及其开关

* WatchOS限定

* WatchOS限定

* Update VideoPlayerView.swift

* Update SettingsView.swift

* Update SettingsView.swift
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants