Xcode arm64 与 arm64e

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/52624308/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 10:49:51  来源:igfitidea点击:

Xcode arm64 Vs arm64e

iosxcodearm64xcode10.1

提问by Puvanarajan

Xcode 10.1 mention Support for arm64e (Preview). Anyone have any idea about arm64e. Any difference between arm64 and arm64e.

Xcode 10.1 提到了对 arm64e 的支持(预览版)。任何人都对 arm64e 有任何想法。arm64 和 arm64e 之间的任何区别。

https://developer.apple.com/documentation/xcode_release_notes/xcode_10_1_beta_2_release_notes?language=objc

https://developer.apple.com/documentation/xcode_release_notes/xcode_10_1_beta_2_release_notes?language=objc

I searched arm64e. But couldn't found proper explanation.

我搜索了 arm64e。但找不到合适的解释。

回答by Giovanni

The arm64e architecture is used on the A12 chipset, which is added in the latest 2018 iPhone models (XS/XS Max/XR). The code compiles to ARMv8.3, which brings support for new features. Namely:

arm64e 架构用于 A12 芯片组,该芯片组添加到最新的 2018 款 iPhone 机型(XS/XS Max/XR)中。代码编译为 ARMv8.3,这带来了对新功能的支持。即:

  • Pointer authentication
  • Nested virtualization
  • Advanced SIMD complex number support
  • Improved Javascript data type conversion support
  • A change to the memory consistency model
  • ID mechanism support for larger system-visible caches
  • 指针认证
  • 嵌套虚拟化
  • 高级 SIMD 复数支持
  • 改进的 Javascript 数据类型转换支持
  • 内存一致性模型的改变
  • ID 机制支持更大的系统可见缓存

The A12 features an Apple-designed 64-bit ARMv8.3-A six-core CPU

A12 配备 Apple 设计的 64 位 ARMv8.3-A 六核 CPU

https://en.wikipedia.org/wiki/Apple_A12

https://en.wikipedia.org/wiki/Apple_A12

Read more about the architecture here as well:

在此处阅读有关架构的更多信息:

https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions

https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions

回答by Paul Beusterien

To test arm64e with an app, update the Architecturessetting in Build Settings. More details at https://developer.apple.com/documentation/security/preparing_your_app_to_work_with_pointer_authentication.

为了测试arm64e与一个应用程序,更新Architectures的设置Build Settings。更多详细信息,访问https://developer.apple.com/documentation/security/preparing_your_app_to_work_with_pointer_authentication

Note that if you have CocoaPods dependencies, all of the Pods build targets must be similarly changed.

请注意,如果您有 CocoaPods 依赖项,则必须以类似方式更改所有 Pods 构建目标。

If any of the CocoaPods dependencies are binary instead of source pods, make a request to the vendor like https://github.com/firebase/firebase-ios-sdk/issues/4110

如果任何 CocoaPods 依赖项是二进制而不是源 pod,请向供应商发出请求,例如https://github.com/firebase/firebase-ios-sdk/issues/4110