Joe*_*son 20 x86-64 i386 ios-simulator
我正试图让一个在模拟器上运行的应用程序之前遇到了一些问题.我们没有为其构建libjpeg.a i386,但确实有x86_64.这是唯一的依赖,但我想知道为什么我真的需要i386符号,如果我在x86_64mac 上运行.
Var*_*der 28
iOS模拟器可以在32位和64位模式下运行您的应用程序.这可以让你解决很多64位问题,并确保它已经为armv7和arm64做好了准备.为此,它会为i386和x86_64编译您的应用程序,并且需要两个体系结构的库.
Nai*_*hta 13
iOS应用程序需要在许多不同的体系结构上运行:
arm7: Used in the oldest iOS 7-supporting devices
arm7s: As used in iPhone 5 and 5C
arm64: For the 64-bit ARM processor in iPhone 5S
i386: For the 32-bit simulator
x86_64: Used in 64-bit simulator
Run Code Online (Sandbox Code Playgroud)
Sye*_*man 11
实际上i386架构适用于iPhone模拟器,其中x86_64架构适用于iPad模拟器,两者兼容32和64位.
虽然这几天我尝试运行 Fastlane 来获取 iOS 屏幕截图,但我发现了同样的情况:因为有.a库只包含x86_64架构,但没有i386架构,然后我得到了这个错误:
Undefined symbol(s) for architecture i386
Run Code Online (Sandbox Code Playgroud)
这是在iPhone 8模拟器上运行的iOS 11.4。
但是您可以强制模拟器仅运行64-bit或仅运行32-bit如下:
Project -> Architectures -> set the value as:$(ARCHS_STANDARD_32_BIT) or $(ARCHS_STANDARD_64_BIT)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20313 次 |
| 最近记录: |