gpt4 book ai didi

ios - 应用程序在模拟器中挂起

转载 作者:搜寻专家 更新时间:2023-10-31 21:56:33 26 4
gpt4 key购买 nike

问题

我将我的项目升级到 Swift 3.0,但更新后应用程序无法在模拟器上运行。它不会崩溃,只是卡住。

我调查了这个问题,发现应用程序在初始化自定义字体时挂起。

我复制了下面的函数。

func registerMaterialFont() {
let url = Bundle.main.url(forResource: "Material-Design-Iconic-Font", withExtension: "otf")!
let data = try! Data(contentsOf: url)

let provider = CGDataProvider(data: data as CFData)

print("Test 1")

let font = CGFont(provider!)

print("Test 2")

var error: Unmanaged<CFError>?
if !CTFontManagerRegisterGraphicsFont(font, &error) {
//Error handling here
} else {
log.info("Material Font registered");
}
}

控制台只会打印测试1

有人知道发生了什么事吗?

注意:。此应用程序在带有 SIM 卡的测试手机上运行,​​而在没有 SIM 卡的手机上未运行!

编辑:堆栈跟踪如果我在调试控制台中按下 pauze,将显示以下堆栈跟踪:

Stack Trace

libsystem_kernel.dylib`semaphore_wait_trap:
0x10c765fa4 <+0>: movq %rcx, %r10
0x10c765fa7 <+3>: movl $0x1000024, %eax ; imm = 0x1000024
0x10c765fac <+8>: syscall
-> 0x10c765fae <+10>: retq
0x10c765faf <+11>: nop

最佳答案

这是 IOS/Swift 中的一个错误。 (有关更多信息,请参阅:http://www.openradar.me/18778790)

打电话

_ = UIFont() 

之前

CGFontCreate()

将防止函数死锁。

关于ios - 应用程序在模拟器中挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40242370/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com