在使用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,如需轉載請自行聯系原作者