parsingAPI 1.6.4 – 不能build立项目

我下载了新的iOS Parse API(1.6.4)并试图构build我的项目。 当我这样做,我得到这个错误:

Undefined symbols for architecture arm64" "_BFTaskMultipleExceptionsException", referenced from: ___53+[PFObject(Private) deleteAllAsync:withSessionToken:]_block_invoke214 in Parse(PFObject.o) ___65+[PFObject(Private) _deepSaveAsync:withCurrentUser:sessionToken:]_block_invoke311 in Parse(PFObject.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

截图: 截图

parsing1.6.4和Facebook SDK 3.23的临时解决方法:

添加到您的AppDelegate.m或其他类以下常量后导入和实现部分:

 NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsException"; @interface IPAppDelegate () @end @implementation IPAppDelegate 

它应该解决这个问题,直到它parsing/ Facebook的一面。

– 更新:此解决scheme仅适用于上面列出的Facebook和Parse SDK版本,现在这些版本已过时。

新的分析SDK 1.7.4与新的Facebook SDK 4.0正常工作,应该不会有这样的问题。

我能够找出任何需要parsingiOS v1.6.3的url。

https://parse.com/downloads/ios/parse-library/1.6.3

我可以确认使用1.6.3编译正确。

配售

 NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsException"; 

在Sergey Surkovbuild议的App Delegate中,在导入和实现之间,然后添加libstdc ++。6.dylib在构build阶段为我工作。 请同时查看https://stackoverflow.com/a/27628797/1036945

我使用了Parse(1.7.4)和Facebook(4.2.0)的最新SDK,也遇到了同样的问题。 这个问题是由Parse和Facebook SDK中包含的Bolts.framework引起的。 出于某种原因,Parse中的Bolts框架总是比包含在Facebook SDK中的框架更新。

经过多次尝试安装,删除和重新安装这些SDK,使用拖放方法和通过Cocoapods,我终于设法通过执行以下步骤来解决这个问题:

  1. 我从我的项目中完全删除了Parse,Facebook和Bolts框架的任何实例;
  2. 我按照Facebook开发者页面上的步骤重新添加了FBSDKCoreKit框架(和我的项目需要的ShareKit和LoginKit): https : //developers.facebook.com/docs/ios/getting-started/确保不是将项目复制到您的项目。
  3. 我使用拖放方法将Parse框架重新添加到项目中。 我还添加了ParseFacebookUtilsV4框架,因为我需要它通过Facebooklogin创build用户。

  4. 这是解决所有问题的最重要的步骤:我将Parse提供的Bolts.framework拖放到项目中,但确保不将其复制到项目中(就像使用FBSDKCoreKit框架一样,我取消了“Copy items到目的地组的文件夹中“选项,如果你把它复制到项目文件夹中,项目将不会build立。

这些步骤终于解决了我所有的问题。

如果你正在使用cocoapods尝试pod update Bolts

编辑2:FacebookSDK更新3.23.2解决此问题,并包括螺栓1.1.4: https : //developers.facebook.com/resources/facebook-ios-sdk-3.23.2.pkg


编辑:从您的生成设置中删除-ObjC“其他链接器标志”。


如果Facebook SDK集成,则Bolts.framework对于Parse不是必需的。
包括Facebook iOS SDK 3.14的bolt.framework。 https://developers.facebook.com/docs/ios/upgrading-3.x

尝试删除您的手动实例的bolt.framework。

只是要logging下来。

这个问题是由于Facebook SDK Bolts和Parse螺栓框架之间的Bolts框架冲突造成的。 解决此问题的一个临时解决scheme是使用Cocoapods为您的Facebook SDK依赖项,这将有助于修复工作。

该错误已被Facebook确认并被分配给相应的团队进行修复。

请按照https://developers.facebook.com/bugs/383331175179417/获取更新。

确保facebook sdk框架和螺栓框架(自带fb sdk)被导入到您的项目中。

我得到了类似的错误(“…不是一个dylib”和“未定义的架构符号”),因为我拖动整个parsing文件夹(“parsing库-1.7.4-2”)到我的Xcode项目,当我应该只拖动我需要的框架(“Bolts.framework”和“Parse.framework”)。 删除parsing文件夹,拖动两个框架,然后一切按预期工作:)

我有同样的问题。 更新螺栓到1.1.4为我解决(螺栓1.1.3之前)。

如果您使用cocoapods,请将此行更改或添加到您的pod文件中

 pod 'Bolts', '1.1.4' 

如果没有,只需在这里下载: https : //github.com/BoltsFramework/Bolts-iOS/releases

尝试下载最新的SDK,并用最新版本replace所有的Parse框架。

Interesting Posts