QMUI_iOS icon indicating copy to clipboard operation
QMUI_iOS copied to clipboard

有没有遇人到 run 的时候导致 app 黑屏的问题, 需要重启模拟器才行

Open ZHK1024 opened this issue 1 year ago • 12 comments

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]

ZHK1024 avatar Sep 01 '24 06:09 ZHK1024

有,我还纳闷儿为啥总黑屏。。。

pcccccc avatar Sep 12 '24 02:09 pcccccc

目前遇到过,前面没考虑是QMUI的问题, 而且也没详细去测试,无法确定. 我之前是cmd q 强制退出 重新跑.

hootigger avatar Sep 18 '24 09:09 hootigger

遇到过,Xcode15 用Rosetta模式的模拟器调试的时候基本第二次跑就卡死了,要关掉重启,arm64的模拟器没有这个问题,升级系统到 macOS 15 后用了几天 Xcode 16,没有遇到这个问题了

alexsun avatar Sep 20 '24 11:09 alexsun

遇到过,Xcode15 用Rosetta模式的模拟器调试的时候基本第二次跑就卡死了,要关掉重启,arm64的模拟器没有这个问题,升级系统到 macOS 15 后用了几天 Xcode 16,没有遇到这个问题了

我的 arm64 的模拟器也会出现

ZHK1024 avatar Sep 20 '24 12:09 ZHK1024

目前遇到过,前面没考虑是QMUI的问题, 而且也没详细去测试,无法确定. 我之前是cmd q 强制退出 重新跑.

我以前也没注意到, 就是最近新建的项目一开始就加了 QMUIKit 就开始黑屏了

ZHK1024 avatar Sep 20 '24 12:09 ZHK1024

破案了, 应该是 cocoapods 的问题, 但不知道该如何解决, 至少最新版的也还有这个问题. 目前我用 SPM 就没问题了.

ZHK1024 avatar Nov 15 '24 01:11 ZHK1024

破案了, 应该是 cocoapods 的问题, 但不知道该如何解决, 至少最新版的也还有这个问题. 目前我用 SPM 就没问题了.

那怎么办?把之前的依赖库全部换成SPM吗?我的模拟器也会经常这样子,动不动重新编译run的时候就卡死黑屏,并且得杀掉进程重来才行。这xcode真的做的越来越烂了,debug调试断点也非常非常慢,太影响工作效率了。

Ryan0520 avatar Nov 22 '24 00:11 Ryan0520

破案了, 应该是 cocoapods 的问题, 但不知道该如何解决, 至少最新版的也还有这个问题. 目前我用 SPM 就没问题了.

那怎么办?把之前的依赖库全部换成SPM吗?我的模拟器也会经常这样子,动不动重新编译run的时候就卡死黑屏,并且得杀掉进程重来才行。这xcode真的做的越来越烂了,debug调试断点也非常非常慢,太影响工作效率了。

对, 我把依赖全部换成 SPM 了, 不支持 SPM 的都下载到本地自己加了 Package.swift.

ZHK1024 avatar Nov 22 '24 01:11 ZHK1024

破案了, 应该是 cocoapods 的问题, 但不知道该如何解决, 至少最新版的也还有这个问题. 目前我用 SPM 就没问题了.

那怎么办?把之前的依赖库全部换成SPM吗?我的模拟器也会经常这样子,动不动重新编译run的时候就卡死黑屏,并且得杀掉进程重来才行。这xcode真的做的越来越烂了,debug调试断点也非常非常慢,太影响工作效率了。

对, 我把依赖全部换成 SPM 了, 不支持 SPM 的都下载到本地自己加了 Package.swift.

大佬有Package.swift文件么?

xyhuangjia avatar Mar 22 '25 03:03 xyhuangjia

破案了, 应该是 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
    ]
)

ZHK1024 avatar Mar 22 '25 03:03 ZHK1024

破案了, 应该是 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

xyhuangjia avatar Mar 22 '25 03:03 xyhuangjia

破案了, 应该是 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 目录下了, 就是你这个报错信息中列出的那几个文件夹.

ZHK1024 avatar Mar 22 '25 03:03 ZHK1024