有没有遇人到 run 的时候导致 app 黑屏的问题, 需要重启模拟器才行
Bug 表现
引入 QMUIKit 的项目会导致 run 的时候第一次可以正常跑起来, 在模拟器上如果不手动杀掉 app 的话, 直接使用 xcode 运行第二次就会无响应, app 不会重启(正常 app 会重新启动), 接下来 app 的就黑屏了, 只能重启模拟器.
这个问题 xcode14 的时候就有了, 当时我以为是 xcode 的 bug 一直用到现在, 最近发现新建的项目不会有这个问题, 依赖了 QMUIKit 就会出现这个问题.
目前我不知道该如何解决, 也不一定是 QMUIKit 以上只是我目前观察到的现象, 希望万能的网友能帮忙看看.
如何重现 基本上 3 次有 2 次必现. 偶尔能正常跑起来.
其他信息
- 设备: iOS 模拟器
- iOS 版本: [iOS 17.0.1]
- Xcode 版本: [Xcode 15.3]
- QMUI 版本: [4.7.0]
有,我还纳闷儿为啥总黑屏。。。
目前遇到过,前面没考虑是QMUI的问题, 而且也没详细去测试,无法确定. 我之前是cmd q 强制退出 重新跑.
遇到过,Xcode15 用Rosetta模式的模拟器调试的时候基本第二次跑就卡死了,要关掉重启,arm64的模拟器没有这个问题,升级系统到 macOS 15 后用了几天 Xcode 16,没有遇到这个问题了
遇到过,Xcode15 用Rosetta模式的模拟器调试的时候基本第二次跑就卡死了,要关掉重启,arm64的模拟器没有这个问题,升级系统到 macOS 15 后用了几天 Xcode 16,没有遇到这个问题了
我的 arm64 的模拟器也会出现
目前遇到过,前面没考虑是QMUI的问题, 而且也没详细去测试,无法确定. 我之前是cmd q 强制退出 重新跑.
我以前也没注意到, 就是最近新建的项目一开始就加了 QMUIKit 就开始黑屏了
破案了, 应该是 cocoapods 的问题, 但不知道该如何解决, 至少最新版的也还有这个问题.
目前我用 SPM 就没问题了.
破案了, 应该是
cocoapods的问题, 但不知道该如何解决, 至少最新版的也还有这个问题. 目前我用SPM就没问题了.
那怎么办?把之前的依赖库全部换成SPM吗?我的模拟器也会经常这样子,动不动重新编译run的时候就卡死黑屏,并且得杀掉进程重来才行。这xcode真的做的越来越烂了,debug调试断点也非常非常慢,太影响工作效率了。
破案了, 应该是
cocoapods的问题, 但不知道该如何解决, 至少最新版的也还有这个问题. 目前我用SPM就没问题了.那怎么办?把之前的依赖库全部换成
SPM吗?我的模拟器也会经常这样子,动不动重新编译run的时候就卡死黑屏,并且得杀掉进程重来才行。这xcode真的做的越来越烂了,debug调试断点也非常非常慢,太影响工作效率了。
对, 我把依赖全部换成 SPM 了, 不支持 SPM 的都下载到本地自己加了 Package.swift.
破案了, 应该是
cocoapods的问题, 但不知道该如何解决, 至少最新版的也还有这个问题. 目前我用SPM就没问题了.那怎么办?把之前的依赖库全部换成
SPM吗?我的模拟器也会经常这样子,动不动重新编译run的时候就卡死黑屏,并且得杀掉进程重来才行。这xcode真的做的越来越烂了,debug调试断点也非常非常慢,太影响工作效率了。对, 我把依赖全部换成 SPM 了, 不支持 SPM 的都下载到本地自己加了
Package.swift.
大佬有Package.swift文件么?
破案了, 应该是
cocoapods的问题, 但不知道该如何解决, 至少最新版的也还有这个问题. 目前我用SPM就没问题了.那怎么办?把之前的依赖库全部换成
SPM吗?我的模拟器也会经常这样子,动不动重新编译run的时候就卡死黑屏,并且得杀掉进程重来才行。这xcode真的做的越来越烂了,debug调试断点也非常非常慢,太影响工作效率了。对, 我把依赖全部换成 SPM 了, 不支持 SPM 的都下载到本地自己加了
Package.swift.大佬有Package.swift文件么?
import PackageDescription
let package = Package(
name: "QMUIKit",
platforms: [
.iOS(.v12),
.macOS(.v10_13),
.tvOS(.v12)
],
products: [
.library(name: "QMUIKit", targets: ["QMUIKit"])
],
targets: [
.target(
name: "QMUIKit",
path: "QMUIKit",
resources: [.copy("PrivacyInfo.xcprivacy"), .process("../QMUIResources")],
publicHeadersPath: "."
),
],
swiftLanguageVersions: [
.v5
]
)
破案了, 应该是
cocoapods的问题, 但不知道该如何解决, 至少最新版的也还有这个问题. 目前我用SPM就没问题了.那怎么办?把之前的依赖库全部换成
SPM吗?我的模拟器也会经常这样子,动不动重新编译run的时候就卡死黑屏,并且得杀掉进程重来才行。这xcode真的做的越来越烂了,debug调试断点也非常非常慢,太影响工作效率了。对, 我把依赖全部换成 SPM 了, 不支持 SPM 的都下载到本地自己加了
Package.swift.大佬有Package.swift文件么?
import PackageDescription
let package = Package( name: "QMUIKit", platforms: [ .iOS(.v12), .macOS(.v10_13), .tvOS(.v12) ], products: [ .library(name: "QMUIKit", targets: ["QMUIKit"]) ], targets: [ .target( name: "QMUIKit", path: "QMUIKit", resources: [.copy("PrivacyInfo.xcprivacy"), .process("../QMUIResources")], publicHeadersPath: "." ), ], swiftLanguageVersions: [ .v5 ] )
您这边直接将QMUI代码集成到项目中了么? 我这边报错
error: 'qmui_ios': target 'QMUIKit' has invalid header layout: umbrella header found at '/Users/xxx/Desktop/gitSpace/QMUI_iOS/QMUIKit/QMUIKit.h', but directories exist next to it: /Users/xxx/Desktop/gitSpace/QMUI_iOS/QMUIKit/QMUIComponents, /Users/xxx/Desktop/gitSpace/QMUI_iOS/QMUIKit/QMUICore, /Users/xxx/Desktop/gitSpace/QMUI_iOS/QMUIKit/QMUIMainFrame, /Users/xxx/Desktop/gitSpace/QMUI_iOS/QMUIKit/QMUIResources, /Users/xxx/Desktop/gitSpace/QMUI_iOS/QMUIKit/UIKitExtensions; consider removing them
破案了, 应该是
cocoapods的问题, 但不知道该如何解决, 至少最新版的也还有这个问题. 目前我用SPM就没问题了.那怎么办?把之前的依赖库全部换成
SPM吗?我的模拟器也会经常这样子,动不动重新编译run的时候就卡死黑屏,并且得杀掉进程重来才行。这xcode真的做的越来越烂了,debug调试断点也非常非常慢,太影响工作效率了。对, 我把依赖全部换成 SPM 了, 不支持 SPM 的都下载到本地自己加了
Package.swift.大佬有Package.swift文件么?
import PackageDescription let package = Package( name: "QMUIKit", platforms: [ .iOS(.v12), .macOS(.v10_13), .tvOS(.v12) ], products: [ .library(name: "QMUIKit", targets: ["QMUIKit"]) ], targets: [ .target( name: "QMUIKit", path: "QMUIKit", resources: [.copy("PrivacyInfo.xcprivacy"), .process("../QMUIResources")], publicHeadersPath: "." ), ], swiftLanguageVersions: [ .v5 ] )
您这边直接将QMUI代码集成到项目中了么? 我这边报错
error: 'qmui_ios': target 'QMUIKit' has invalid header layout: umbrella header found at '/Users/xxx/Desktop/gitSpace/QMUI_iOS/QMUIKit/QMUIKit.h', but directories exist next to it: /Users/xxx/Desktop/gitSpace/QMUI_iOS/QMUIKit/QMUIComponents, /Users/xxx/Desktop/gitSpace/QMUI_iOS/QMUIKit/QMUICore, /Users/xxx/Desktop/gitSpace/QMUI_iOS/QMUIKit/QMUIMainFrame, /Users/xxx/Desktop/gitSpace/QMUI_iOS/QMUIKit/QMUIResources, /Users/xxx/Desktop/gitSpace/QMUI_iOS/QMUIKit/UIKitExtensions; consider removing them
为了方便我把 QMUIKit 下的子目录都删掉了, 把子目录下所有代码文件全部丢到 QMUIKit 目录下了, 就是你这个报错信息中列出的那几个文件夹.