2016-06-14 82 views
1

我需要使用iOS上的本機實現來登錄Facebook,才能將登錄行爲更改爲Web視圖。爲了實現這個我需要#import的Facebook SDK。我只需要FBSDKLoginKit.framework文件。所以我從Facebook開發人員網站下載了Facebook SDK,並將我的cn1項目中的FBSDKLoginKit.framework文件從SDK複製到本機/ iOS目錄。這是我的原生代碼:Codename one本機IOS執行錯誤:.h文件未找到

#import "za_co_bonyelo_mibrand_NativeImplImpl.h" 
#import <FBSDKLoginKit/Headers/FBSDKLoginKit.h> 
@implementation za_co_bonyelo_mibrand_NativeImplImpl 

-(void)facebookLogin { 
    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 
    [login setLoginBehavior:FBSDKLoginBehaviorWeb]; 
    [login logInWithReadPermissions:@[@"public_profile"]  
     fromViewController:nil handler:^(FBSDKLoginManagerLoginResult 
     *result, NSError *error) { 
      NSLog(@""); 
     }]; 
} 

-(BOOL)isSupported { 
    return YES; 
} 

@end 

當我送構建我得到生成錯誤和日誌說:找不到FBSDKLoginKit/Headers/FBSDKLoginKit.h文件。我試圖把導入到「報價」,而不是<>,我也試着刪除.framework文件,因爲我知道cn1已經安裝了SDK,但我仍然有同樣的錯誤。我在這裏做錯了什麼?我是否需要在cn1服務器上存儲SDK的目錄,或者我是否將其導入錯誤。我將該框架添加到XCode項目並添加了相同的代碼,並且沒有編譯錯誤。我還添加了編譯提示:

ios.add_libs=F.framework;Second.framework;FBSDKLoginKit.framework 

謝謝。

UPDATE。構建錯誤:

** BUILD FAILED ** 


The following build commands failed: 
    CompileC /var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build8449449665536309564xxx/dist/build/Build/Intermediates/Pods.build/Release-iphoneos/Bolts.build/Objects-normal/armv7/BFAppLinkNavigation.o Bolts/Bolts/iOS/BFAppLinkNavigation.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler 
    CompileC /var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build8449449665536309564xxx/dist/build/Build/Intermediates/Pods.build/Release-iphoneos/Bolts.build/Objects-normal/armv7/BFCancellationToken.o Bolts/Bolts/Common/BFCancellationToken.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler 
    CompileC /var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build8449449665536309564xxx/dist/build/Build/Intermediates/Pods.build/Release-iphoneos/Bolts.build/Objects-normal/armv7/BFCancellationTokenRegistration.o Bolts/Bolts/Common/BFCancellationTokenRegistration.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler 
    CompileC /var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build8449449665536309564xxx/dist/build/Build/Intermediates/Pods.build/Release-iphoneos/Bolts.build/Objects-normal/armv7/BFCancellationTokenSource.o Bolts/Bolts/Common/BFCancellationTokenSource.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler 
    CompileC /var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build8449449665536309564xxx/dist/build/Build/Intermediates/Pods.build/Release-iphoneos/Bolts.build/Objects-normal/armv7/BFExecutor.o Bolts/Bolts/Common/BFExecutor.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler 
(5 failures) 

I also found errors like these when I looked through the logs. 

/var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Bolts/Bolts/Common/BFTask.h:52:31: error: expected '>' 
@interface BFTask<__covariant ResultType> : NSObject 
          ^
/var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Bolts/Bolts/Common/BFTask.h:52:31: error: unknown type name 'ResultType'; did you mean 'ResType'? 
@interface BFTask<__covariant ResultType> : NSObject 
           ^~~~~~~~~~ 
           ResType 
In module 'UIKit' imported from /var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Target Support Files/Bolts/Bolts-prefix.pch:2: 
In module 'Darwin' imported from /Applications/Xcode6.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitDefines.h:8: 
/Applications/Xcode6.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/usr/include/MacTypes.h:292:41: note: 'ResType' declared here 
typedef FourCharCode     ResType; 
             ^
In file included from /var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Bolts/Bolts/Common/BFTask.m:11: 
/var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Bolts/Bolts/Common/BFTask.h:52:41: error: expected identifier or '(' 
@interface BFTask<__covariant ResultType> : NSObject 
             ^
/var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Bolts/Bolts/Common/BFTask.h:63:33: error: expected a type 
+ (instancetype)taskWithResult:(nullable ResultType)result; 
           ^
/var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Bolts/Bolts/Common/BFTask.h:63:1: error: missing context for method declaration 
+ (instancetype)taskWithResult:(nullable ResultType)result; 
^ 
/var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Bolts/Bolts/Common/BFTask.h:69:1: error: expected method body 
+ (instancetype)taskWithError:(NSError *)error; 
^ 
/var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Bolts/Bolts/Common/BFTask.h:75:1: error: missing context for method declaration 
+ (instancetype)taskWithException:(NSException *)exception; 
^ 
/var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Bolts/Bolts/Common/BFTask.h:80:1: error: expected method body 
+ (instancetype)cancelledTask; 
^ 
/var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Bolts/Bolts/Common/BFTask.h:87:46: error: expected a type 
+ (instancetype)taskForCompletionOfAllTasks:(nullable NSArray<BFTask *> *)tasks; 
              ^
/var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Bolts/Bolts/Common/BFTask.h:87:1: error: missing context for method declaration 
+ (instancetype)taskForCompletionOfAllTasks:(nullable NSArray<BFTask *> *)tasks; 
^ 
/var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Bolts/Bolts/Common/BFTask.h:95:1: error: expected method body 
+ (instancetype)taskForCompletionOfAllTasksWithResults:(nullable NSArray<BFTask *> *)tasks; 
^ 
/var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Bolts/Bolts/Common/BFTask.h:103:45: error: expected a type 
+ (instancetype)taskForCompletionOfAnyTask:(nullable NSArray<BFTask *> *)tasks; 
              ^
/var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/build6712163475603117880xxx/dist/Pods/Bolts/Bolts/Common/BFTask.h:103:1: error: missing context for method declaration 
+ (instancetype)taskForCompletionOfAnyTask:(nullable NSArray<BFTask *> *)tasks; 
^ 
fatal error: too many errors emitted, stopping now [-ferror-limit=] 
20 errors generated. 

回答

2

我認爲#import <FBSDKLoginKit/FBSDKLoginKit.h>通常應該是正確的值。但是,真的,我建議你使用Cocoapods

+0

Codename One cocoapods指南:https://www.codenameone.com/blog/cocoapods.html –

+0

非常感謝。所以我應該添加構建提示。 ios.pods = Facebook-iOS-SDK?然後#import ,或者我添加pod後不需要導入? – Kyri33

+0

更新。好吧,所以我添加了NSObject pod以及Bolts pod,它阻止了我得到的以前的錯誤,但是現在我得到的其他錯誤如下所示:'嘗試用一個未知的UUID初始化一個對象。 '0F634EA218E9ABBC002F3D1D'屬性:'children'。這可能是合併的結果,未知的UUID將被丟棄。 – Kyri33