2016-06-14 2 views
1

Мне нужно войти в систему с помощью Facebook с помощью Native Implementation на iOS, чтобы изменить поведение входа в веб-представление. Для этого мне нужно #import SDK для Facebook. Мне нужен только файл FBSDKLoginKit.framework. Поэтому я загрузил SDK на Facebook с сайта разработчика Facebook, и я скопировал файл FBSDKLoginKit.framework из SDK в каталог native/iOS в моем проекте cn1. Это мой родной код: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, но у меня все еще такая же ошибка. Что я здесь делаю неправильно? Нужен ли мне каталог, в котором SDK хранится на серверах cn1, или я импортирую его неправильно. Я добавил фреймворк к проекту XCode и добавил тот же код, и я не получаю ошибок компиляции. Я также добавил подсказку для сборки:

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

Thank you.

ОБНОВЛЕНИЕ. Ошибка сборки:

** 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 Один путеводитель по cocoapods: https://www.codenameone.com/blog/cocoapods.html –

+0

Большое спасибо. Поэтому следует добавить подсказку сборки. ios.pods = Facebook-iOS-SDK? а затем #import или мне не нужен импорт, так как я добавляю модуль? – Kyri33

+0

ОБНОВЛЕНИЕ. Итак, я добавил модуль NSObject, а также модуль Bolts, который остановил предыдущие ошибки, которые я получал, но теперь я получаю другие ошибки, выглядящие следующим образом: '' попытался инициализировать объект с неизвестным UUID. '0F634EA218E9ABBC002F3D1D' для атрибута:' children'. Это может быть результатом слияния, и неизвестный UUID отбрасывается. – Kyri33