iPhone会挑选哪个切片

thn*_*iss 9 architecture iphone armv7 ios arm64

我有一个.ipa具有arm64armv它7片.如果我上同时支持的iDevice运行arm64armv7哪个片将被运行时采摘?

我可以通过打印NSLog或某种方式来了解某个地方运行时已选择切片arm64吗?

小智 1

你可以试试这个方法。您必须添加更多 cpu_type_t 选项。

func getCPUType() -> String {

var size: size_t = 0
var type: cpu_type_t = 0
var subtype: cpu_subtype_t = 0
size = MemoryLayout<cpu_type_t>.size;
sysctlbyname("hw.cputype", &type, &size, nil, 0);

size = MemoryLayout<cpu_subtype_t>.size;
sysctlbyname("hw.cpusubtype", &subtype, &size, nil, 0);

// values for cputype and cpusubtype defined in mach/machine.h
var cpu = ""
if (type == CPU_TYPE_X86)
{
    cpu += "x86"

} else if (type == CPU_TYPE_VAX) {
    cpu += "vax"

} else if (type == CPU_TYPE_ARM) {
    cpu += "ARM"
    switch(subtype)
    {
    case CPU_SUBTYPE_ARM_V7:
        cpu += "V7"
        break;
        // ...
    default: break
    }
}

return cpu
}
Run Code Online (Sandbox Code Playgroud)

编辑:首先尝试使用“hw.cpufamily”

sysctlbyname("hw.cpufamily", &type, &size, nil, 0);
Run Code Online (Sandbox Code Playgroud)