在使用Parse的一些相关服务时候,需要下载Parse的SDK,除了需要添加相应的系统框架和库的支持
AudioToolbox.framework
CFNetwork.framework
CoreGraphics.framework
CoreLocation.framework
libz.1.1.3.dylib
MobileCoreServices.framework
QuartzCore.framework
Security.framework
StoreKit.framework
SystemConfiguration.framework
假如你更改导入其他静态库时设置了,Linking下面的Other Linker Flags(比如:我在使用芒果广告平台,配置芒果平台的静态库:点击程序Target文件,选择Build Settings标签页,找到Linking下面的Other Linker Flags,添加参 数-all_load -ObjC。)但是这和Parse静态库设置冲突需要以移除 -ObjC,否则导致如下错误
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<code>Undefined symbols </code><code>for</code> <code>architecture i386:</code>
<code> </code><code>"_FBTokenInformationExpirationDateKey"</code><code>, referenced from:</code>
<code> </code><code>-[PFFacebookTokenCachingStrategy cacheTokenInformation:] in Parse(PFFacebookTokenCachingStrategy.o)</code>
<code> </code><code>-[PFFacebookTokenCachingStrategy expirationDate] in Parse(PFFacebookTokenCachingStrategy.o)</code>
<code> </code><code>-[PFFacebookTokenCachingStrategy setExpirationDate:] in Parse(PFFacebookTokenCachingStrategy.o)</code>
<code> </code><code>"_FBTokenInformationTokenKey"</code><code>, referenced from:</code>
<code> </code><code>-[PFFacebookTokenCachingStrategy accessToken] in Parse(PFFacebookTokenCachingStrategy.o)</code>
<code> </code><code>-[PFFacebookTokenCachingStrategy setAccessToken:] in Parse(PFFacebookTokenCachingStrategy.o)</code>
<code> </code><code>"_FBTokenInformationUserFBIDKey"</code><code>, referenced from:</code>
<code> </code><code>-[PFFacebookTokenCachingStrategy facebookId] in Parse(PFFacebookTokenCachingStrategy.o)</code>
<code> </code><code>-[PFFacebookTokenCachingStrategy setFacebookId:] in Parse(PFFacebookTokenCachingStrategy.o)</code>
<code> </code><code>"_OBJC_CLASS_$_FBRequest"</code><code>, referenced from:</code>
<code> </code><code>objc-</code><code>class</code><code>-ref in Parse(PFFacebookAuthenticationProvider.o)</code>
<code> </code><code>"_OBJC_CLASS_$_FBSession"</code><code>, referenced from:</code>
<code> </code><code>"_OBJC_CLASS_$_FBSessionTokenCachingStrategy"</code><code>, referenced from:</code>
<code> </code><code>_OBJC_CLASS_$_PFFacebookTokenCachingStrategy in Parse(PFFacebookTokenCachingStrategy.o)</code>
<code> </code><code>"_OBJC_METACLASS_$_FBSessionTokenCachingStrategy"</code><code>, referenced from:</code>
<code> </code><code>_OBJC_METACLASS_$_PFFacebookTokenCachingStrategy in Parse(PFFacebookTokenCachingStrategy.o)</code>
<code>ld: symbol(s) not found </code><code>for</code> <code>architecture i386</code>
<code>clang: error: linker command failed with </code><code>exit</code> <code>code 1 (use -v to see invocation)</code>
解决办法一:网上下载FaceBookSDK.framework,加入里面即可解决这些错误(文件比较大)
解决方法二:设置单独的静态库,使用-force_load /path/libname.a 来代替之前需要配置 -all_load _ObjC (比如下图:)

本文转自新风作浪 51CTO博客,原文链接:http://blog.51cto.com/duxinfeng/1285974,如需转载请自行联系原作者