iOS 模拟器构建 - 架构 i386 的未定义符号

iOS Simulator build - undefined symbols for architecture i386

解决方案

好的,虽然建议的答案有助于找到解决方案,但这需要一些工作。所以如果有帮助,我会描述我的收件人。

我的编译问题可能是由于框架版本不匹配造成的。虽然有些框架是手动注入的,但有些框架是使用 pods 添加的。这可能导致了问题,并且我的项目没有针对所有模拟器进行编译。

为了克服这个问题,我删除了所有残留框架并使用 pods 将它们添加回来。然而,这不是即插即用的。我正在使用 xcode 6.3.x(使用 Swift 1)并且在使用更新的 pods.

时存在语义问题

这是我的工作食谱:

# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!
pod 'GoogleMaps'
pod 'Parse', '1.9.1'
pod 'ParseUI'
pod 'ParseFacebookUtilsV4', '~> 1.9'
pod 'ParseTwitterUtils', '~> 1.9'
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'

现在正在为所有模拟器编译完整项目。

问题

我正在开发一个为所有模拟器构建的应用程序,直到我添加 pods 以集成 Google Maps SDK。使用这个framwork,除了Parse SDK,还需要添加Facebook SDK and some libs。这是我的问题的起点,因为与 -ObjC 标志

有冲突

从那时起,我的项目在大多数模拟器 上都运行良好,除了 iphone 4S、iphone 5 和一些 ipad。返回错误如下:

库编译和构建架构真的很新,所以我想知道这是否只是一个模拟器问题,或者我的问题是否会在构建 .api 时持续存在?我需要确保在从 iphone 4S 到 6+

的设备上一切都能按预期工作

我的有效架构如下:arm64 armv7 armv7s 有人可以指导我了解正在发生的事情吗?

我非常乐意提供您可能需要的任何其他信息来帮助我。谢谢!

您在项目中包含的 Parse 框架是为 64 位 MacOSX 构建的。

我建议您将 Parse pods 添加到您的 Podfile

pod 'Parse'
pod 'ParseUI'
pod 'ParseCrashReporting'