gpt4 book ai didi

cocoa arc4random OS X 10.6

转载 作者:行者123 更新时间:2023-12-03 17:25:11 25 4
gpt4 key购买 nike

我为 Lion 创建了一个简单的自定义 View 应用程序。现在有 friend 用Snow Leopard测试了一下,无法启动。可悲的是我没有异常(exception)。我唯一知道的是,这是关于 arc4random 的函数调用,这在她的版本中不可用。我实际上无法想象,Lion 中引入了如此重要的功能(是的,我对 cocoa 相当陌生......),所以你们知道这可能是什么吗?我会尝试获取异常详细信息,但我的时间压力很大......

最佳答案

我刚刚遇到了类似的问题,我的应用程序在 Snow Leopard 上崩溃,崩溃报告显示:

Dyld Error Message:
Symbol not found: _arc4random_buf
Referenced from: <myApp binary>
Expected in: /usr/lib/libSystem.B.dylib

我必须阅读documentation好几次,直到我意识到 arc4random() 本身自 10.4 起可用,但 arc4random_buf() 仅自 10.7 起可用。如果您使用 arc4random_buf() 函数(像我一样),它将无法在 10.6 上运行。

因此,我只是用以下 C 代码替换了 arc4random_buf() 函数:

void myArc4RandBuf(uint8_t* randomBytes, size_t length) {
size_t intBufLength = (length/4)+1;
uint32_t randomInts[intBufLength];
for (int i = 0; i < intBufLength; i++) {
randomInts[i] = arc4random();
}
memcpy(randomBytes, randomInts, length);
}

这可能会慢一些,因为 arc4random() 被调用多次,但它适用于从 10.4 到 10.8 的所有 Mac 操作系统。

关于 cocoa arc4random OS X 10.6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8044332/

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