编译适用于64/32位iOS的代码

3
我正在尝试编译64位和32位。我按照Apple的转换指南中的说明操作: https://developer.apple.com/library/ios/documentation/General/Conceptual/CocoaTouch64BitGuide/ConvertingYourAppto64-Bit/ConvertingYourAppto64-Bit.html#//apple_ref/doc/uid/TP40013501-CH3-SW1 并更改了我的构架设置。如果我将仅构建当前架构更改为,则会出现“不可用架构”的错误。当设置如下时,它可以在64位iPhone模拟器中成功编译,但是当我使用以下代码块检查它时,它仍在运行32位。如何正确配置以在64位设备上运行64位,并在32位设备上运行32位?
#if __LP64__
    NSLog(@"64");
#else
    NSLog(@"32");
#endif

1个回答

2

将"valid architectures"设置为arm64、armv7和armv7s(以及适用于模拟器的i386),这样您就可以开始了。

从您的屏幕截图来看,"Architectures"已经正确设置(为"标准架构")。

如果我设置一个测试项目,并在64位iPhone模拟器中运行这些NSLog代码行,我将在Xcode控制台中看到"64"打印出来。


有道理,谢谢。我认为它对我起作用了,但是我从几个第三方库中得到了新的错误,说它们“缺少所需的架构x86_64”。你知道“Architectures”和“Valid Architectures”的区别吗?对我来说似乎有点冗余。 - Chris
架构和有效架构之间的区别可以在这个问题中找到:https://dev59.com/zWcs5IYBdhLWcg3woFXt。 - Michael Dautermann

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接