我正在使用一个不能在 Xcode 5.1 上编译的子模块 (JsonKit),因为它使用了折旧的赋值 (isa)。显然,这个问题只出现在arm64上。由于我不需要 arm64,有没有办法在此子模块更新之前将其删除?
我应该怎么办 ?:/
谢谢
首先,如果你可以停止使用 JSONKit,你应该!如果可以,切换到 NSJSONSerialization。
但我实际上有一个非常相似的问题。我正在使用可可豆荚导入使用 JSONKit 的依赖项 - 所以我也坚持使用它!正如 Mani 指出的那样,如果您不想为 arm64 构建 JSONKit,则需要将其从 ARCHS 构建设置中删除。此外,除非您禁用只是构建设置的“isa”错误,否则 JSONKit 将不再构建:CLANG_WARN_DIRECT_OBJC_ISA_USAGE = NO。
对于我自己,因为我使用可可豆荚来获取 JSONKit,所以我需要在我的豆荚项目中更改这些构建设置。我发现了一篇关于在可可豆中禁用 arm64的博文,我修改了该帖子中的代码以禁用“isa”警告:(此代码在您的 Podfile 中)
# Remove 64-bit build architecture and 'isa' errors from Pods targets
post_install do |installer|
installer.project.targets.each do |target|
target.build_configurations.each do |configuration|
target.build_settings(configuration.name)['ARCHS'] = '$(ARCHS_STANDARD_32_BIT)'
target.build_settings(configuration.name)['CLANG_WARN_DIRECT_OBJC_ISA_USAGE'] = 'NO'
end
end
end
打开您的项目 Build Settings,选择 Valid Architectures,然后删除 arm64