问题标签 [apple-silicon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Mach-O arm64 访问 .data 部分
现在Apple的平台终于做出了架构的决定,我开始在Darwin上学习arm64汇编,在.data部分我没有找到任何关于如何加载地址的信息。
在 Linux 上,这有效:
Apple 有一篇文章为什么这不适用于 Mach-O 二进制文件,以及它是如何在 x86上完成的@GOTPCREL
,但这并没有告诉我 Clang 汇编程序如何在 Apple Silicon 上处理这个问题。(将数据放入 .text 部分没有帮助,因为我需要它是可写的)
任何信息表示赞赏!
c - 在为 Apple Silicon (ARM) 处理器开发应用程序时,Swift 和 C 开发人员会遇到哪些问题?
之后苹果宣布未来将依赖ARM处理器和带有这种处理器的测试设备的输出。是否会出现可以预期哪些困难的问题?Swift 是一种高级语言,我认为编译器应该能够为 ARM 64 位处理器翻译,以便可以为 ARM 编译当前的源代码。
我要求思考和澄清。非常感谢你。
xcode - Xcode 12 和 Apple Silicon
新的 Xcode 12 是否支持为不在新 Apple Silicon 上运行的计算机制作应用程序?我想知道这一点,因为我需要为自己制作一个新应用程序。
arm - 苹果芯片支持哪些低级语言?
苹果基于 ARM 的处理器看起来很有前途,而且比英特尔更省电。我想知道的是它支持什么低级语言?至于 intel x86,它主要是用 C/C++ 编写的。即使苹果硅有 Rosetta2 来编译第三方库,它是否仍然原生支持 x86_64(c/c++) 等低级语言。
macos - 确定 macOS 中的 CPU 类型/架构
随着即将推出的 Apple Silicon 硬件,一些应用程序可能想要确定 CPU 是 Intel 还是 Apple 的。
哪些 API 和系统调用可以提供该信息?
正如@MarkSetchell指出的那样,sysctl -a
可以提供一些信息。对于 DTK (macOS 11b3),它返回:
OTOH,Apple 的System Profiler.app
节目:
我喜欢有类似的结果,即“Apple A12Z Bionic”而不是“Apple 处理器”。
在系统卷上快速搜索“Apple A12Z Bionic”显示它出现在“dyld_shared_cache_arm64e”中的某个位置,但不在内部System Profiler.app
,这表明该字符串是由框架函数提供的,而不是在 Profiler 应用程序中硬编码。因此,我希望找到提供这个更具描述性名称的系统调用。
xcode - 将胖库添加到 XCFramework 在 Xcode 12 中不起作用
编辑(2020/09/14):这似乎是一个 Xcode 错误,现在已从 Xcode 12 beta 6 修复。
我正在使用 Xcode 12 来构建一个静态库,对于 tvOS,Xcode 12 包括arm64
和arm64e
在单个 fat 库中。
同样,在为模拟器构建时,Xcode 12 将x86_64
和arm64
(Mac Apple Silicon)都包含在单个胖库中。
在这两种情况下,我都无法使用以下命令创建包含这些库的 XCFramework:
xcodebuild -create-xcframework -output A.xcframework" -library A.a
尝试这样做会导致错误
error: unable to find any architecture information in the binary at 'A.a'
输出lipo -info A.a
清楚地表明两种架构都存在(分别是arm64
+arm64e
和arm64
+ x86_64
),所以我不明白为什么xcodebuild
不能识别和处理它。
我还尝试将各个架构分别提取到两个瘦文件中(例如A-arm64.a
和A-arm64e.a
),然后使用这些文件创建 XCFramework,但这会导致不同的错误:
Both tvos-arm64e and tvos-arm64 represent two equivalent library definitions.
和
Both tvos-arm64-simulator and tvos-x86_64-simulator represent two equivalent library definitions.
我错过了什么吗?如何从胖库(或两个等效的瘦库)创建 XCFramework?
xcode - 使用 xcodebuild 构建 Mac Catalyst Apple Silicon
我正在尝试使用 Xcode 12 beta 4 构建一个支持 Apple Silicon 和 Mac Catalyst 的框架。该项目在 Xcode 中使用“Any Mac”目标构建得很好。如果我使用命令
我得到错误
我不确定为什么目的地在 Xcode 中正确构建时被列为不合格,或者为什么 xcodebuild 在启用通用时似乎使用“我的 Mac”设备。如何使用 xcodebuild 在 Apple Silicon 上构建 Mac Catalyst?
macos - 适用于 Mac Apple Silicon 的通用构建 CorePlot 框架
有没有办法将 CorePlot 框架编译为包括 arm 架构在内的通用版本?
当我在 Xcode 12 上打开项目时,我确保选择了标准架构,但它似乎不起作用。我已经用终端上的文件命令对其进行了测试,我只获得了 1 个 x86_64 版本。
有没有办法检查 $(ARCHS_STANDARD) 变量值是什么?
CorePlot 框架: https ://github.com/core-plot/core-plot
xcode - xcodebuild ( 来自 Xcode12 ) - 防止为 Apple Silicon (arm64) 构建
使用 Xcode 12 中的 xcodebuild 并为 Mac 构建,如何防止它尝试为 arm64 构建?
我正在尝试通过 xcodebuild 在命令行上构建库(mailcore2)的存档,以便为 SPM 分发创建 xcarchive。
在 Xcode 11 上,此命令可以正常工作:
但是,在 Xcode 12 上,此消息失败:
看起来它在尝试为 arm64(Apple Silicon)构建时失败了,这是有道理的,因为依赖项还没有为 arm Mac 构建。现在没什么大不了的,我只会为 x86_64 Mac 构建。经过一番搜索,我发现您可以在参数下指定架构,-destination
如下所示:-destination "platform=OS X,arch=x86_64"
但是当我尝试使用它时,以下只是以同样的方式失败:
有任何想法吗?