3

我按照快速入门教程解决了需要 Facebook SDK 的问题(即使我没有使用 Facebook),但出于某种原因,即使我使用的 Parse SDK 版本应该与 64 位架构兼容,我我收到错误消息,指出它无法为我的 iPhone 5S 的 64 位架构编译...

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_PFAnalytics", referenced from:
      objc-class-ref in AppDelegate.o
  "_OBJC_CLASS_$_Parse", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

它崩溃的代码是我刚刚设置 Parse 对象和分析时:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [Parse setApplicationId:@"MyAppID"
                  clientKey:@"MyClientID"];
    [PFAnalytics trackAppOpenedWithLaunchOptions:launchOptions];
    return YES;
}

我的Other Linker Flags包含-ObjC和我的Standard Architectures&Valid Architectures都包含arm64, armv7s, &armv7

4

3 回答 3

1

您没有导入使用 Parse SDK 所需的所有框架。

**AudioToolbox.framework

CFNetwork.framework

CoreGraphics.framework

CoreLocation.framework

libz.dylib

MobileCoreServices.framework

QuartzCore.framework

安全框架

StoreKit.framework

SystemConfiguration.framework**

并且您需要确保在将 PARSE SDK 移入您的框架时推销 COPY 选项

于 2014-07-31T19:30:50.740 回答
0

解决方案是删除-ObjC链接器标志和 Facebook SDK。这导致我正在使用的另一个需要-ObjC链接器标志的第 3 方框架出现错误,但@Fosco 建议我使用-force_load path/to/framework解决了我所有问题的标志强制加载我需要的框架。

于 2014-08-01T15:02:06.777 回答
0

将 Parse 框架附带的 Bolts.framework 添加到项目中解决了我的问题。希望这可以帮助

于 2015-05-15T16:46:30.133 回答