80

私は Parse SDK を使用しており、クイックステップ ガイドに従いました。実行しようとすると、これらの 8 つのエラーが発生します。理由についてのアイデアはありますか?私が使用していない Parse の Facebook 部分と関係があるようです。

 Undefined symbols for architecture armv7:
"_FBTokenInformationTokenKey", referenced from:
  -[PFFacebookTokenCachingStrategy accessToken] in Parse(PFFacebookTokenCachingStrategy.o)
  -[PFFacebookTokenCachingStrategy setAccessToken:] in Parse(PFFacebookTokenCachingStrategy.o)
 "_FBTokenInformationExpirationDateKey", referenced from:
  -[PFFacebookTokenCachingStrategy cacheTokenInformation:] in     Parse(PFFacebookTokenCachingStrategy.o)
  -[PFFacebookTokenCachingStrategy expirationDate] in Parse(PFFacebookTokenCachingStrategy.o)
  -[PFFacebookTokenCachingStrategy setExpirationDate:] in Parse(PFFacebookTokenCachingStrategy.o)
 "_OBJC_METACLASS_$_FBSessionTokenCachingStrategy", referenced from:
  _OBJC_METACLASS_$_PFFacebookTokenCachingStrategy in Parse(PFFacebookTokenCachingStrategy.o)
"_OBJC_CLASS_$_FBSessionTokenCachingStrategy", referenced from:
  _OBJC_CLASS_$_PFFacebookTokenCachingStrategy in Parse(PFFacebookTokenCachingStrategy.o)
"_FBTokenInformationUserFBIDKey", referenced from:
  -[PFFacebookTokenCachingStrategy facebookId] in Parse(PFFacebookTokenCachingStrategy.o)
  -[PFFacebookTokenCachingStrategy setFacebookId:] in Parse(PFFacebookTokenCachingStrategy.o)
"_OBJC_CLASS_$_FBRequest", referenced from:
  objc-class-ref in Parse(PFFacebookAuthenticationProvider.o)
"_OBJC_CLASS_$_FBSession", referenced from:
  objc-class-ref in Parse(PFFacebookAuthenticationProvider.o)
 ld: symbol(s) not found for architecture armv7
 clang: error: linker command failed with exit code 1 (use -v to see invocation)
4

16 に答える 16

137

これは、複数の人が同じエラーを目にしているため、ParseiOS1.1.33リリースに関連するある種のバグです-私も含まれています。

いくつかの回避策があります-

-ObjCリンカーフラグを必要とするライブラリを使用していない場合は、プロジェクトから-ObjCを削除できます。

ビルド設定>その他のリンカーフラグ>-ObjCを削除

または、そのフラグを必要とするライブラリを使用している場合は、FacebookSDKを追加できます。

どちらのオプションもエラーを排除します。私のアプリではFacebookSDKは必要ないので、うまくいけば、彼らはこれを修正します。

ここでの議論に従ってください:

https://parse.com/questions/cocoapods-incompatibility

于 2013-03-17T19:46:15.967 に答える
23

私は dbquarrel の答えが気に入りましたが、新しい社会階級がいくつか欠けているため、もう機能しません。

同じことを行いますが、代わりにこれを追加します。

NSString *FBTokenInformationExpirationDateKey = @"";
NSString *FBTokenInformationTokenKey = @"";
NSString *FBTokenInformationUserFBIDKey = @"";
NSString *SLServiceTypeTwitter = @"";
NSString *ACAccountTypeIdentifierTwitter = @"";
@interface FBAppCall:NSObject
@end
@implementation FBAppCall
@end
@interface FBRequest:NSObject
@end
@implementation FBRequest
@end
@interface FBSession:NSObject
@end
@implementation FBSession
@end
@interface FBSessionTokenCaching:NSObject
@end
@implementation FBSessionTokenCaching
@end
@interface FBSessionTokenCachingStrategy:NSObject
@end
@implementation FBSessionTokenCachingStrategy
@end
@interface ACAccountStore:NSObject
@end
@implementation ACAccountStore
@end
@interface SLRequest:NSObject
@end
@implementation SLRequest
@end
@interface SLComposeViewController:NSObject
@end
@implementation SLComposeViewController
@end
于 2014-05-29T01:09:04.833 に答える
7

私のソリューションは間違いなく機能し、他のリンカーフラグで -ObjC を使用できます。

  1. 「Social.framework」、「Account.framework」を追加
  2. 「FacebookSDK.framework」を追加

乾杯....動作するようになりました..... -ObjC を削除する必要はありません。

于 2014-06-14T18:01:59.840 に答える
1

リンカー エラーです... インクルード ヘッダー ファイルのいずれかで参照しているプロジェクトに、必要なフレームワークが含まれていません。

たとえば、コードにインクルードがあるとします。

#import <Parse/Parse.h>

おそらくサポート フレームワークが必要であり、それをアプリに含める必要があります。parse.frameworkXcode 内に from を含めましたか?

Xcode フレームワーク

于 2013-03-17T03:32:58.163 に答える
1

それは2015年で、同じエラーが発生しました。残念ながら、上記の答えはどれもうまくいきませんでした。しかし、これはしました:

ターゲット > ビルド フェーズ > ライブラリとバイナリをリンク し、libstdc++.6.dylib を追加します。

これで問題は解決しました。

于 2015-07-16T22:06:21.423 に答える
1

私も同じように使用しており、唯一のサードパーティは PayPal SDK でした。-ObjC を削除すると、すべて正常にビルドされました。(設定を変更する前に、必ずプロジェクトのバックアップを作成してください)

于 2013-05-28T16:15:38.827 に答える
-1

cocoaPods をインストールし、これを Podfile に追加します。

pod 'Facebook-iOS-SDK'
pod 'Parse'
pod 'ParseFacebookUtils'
于 2015-07-06T18:41:04.450 に答える
-1

<projectname>/cordova/<projectname>/platforms/ios/<projectname>.xcodeproj/project.pbxprojこれは、およびにあるプロジェクト ファイルから削除できます。

ファイルで を検索します-ObjC。複数の場所があります。次のようになります。

OTHER_LDFLAGS = (
    "-weak_framework",
    CoreFoundation,
    "-weak_framework",
    UIKit,
    "-weak_framework",
    AVFoundation,
    "-weak_framework",
    CoreMedia,
    "-weak-lSystem",
    "-force_load",
    "\"$(BUILT_PRODUCTS_DIR)/libCordova.a\"",
    "-ObjC",
);
于 2014-07-22T21:13:22.533 に答える
-1

私も同じ問題を抱えていました。ここから以前のバージョン(1.1.32)をダウンロードして解決しました:

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

(私の場合、 -ObjC フラグが必要でした)

編集: バージョンは 64 ビット アーキテクチャでは動作しないようです。

于 2014-05-21T14:28:51.303 に答える