【问题标题】:Codename one Native IOS implementation error: .h file not found代号一 Native IOS实现错误:.h文件未找到
【发布时间】:2016-10-15 16:30:14
【问题描述】:

我需要使用 iOS 上的本机实现登录 Facebook,以便将登录行为更改为 Web 视图。为了实现这一点,我需要#import Facebook SDK。我只需要FBSDKLoginKit.framework 文件。因此,我从 Facebook 开发者网站下载了 Facebook SDK,并将 SDK 中的 FBSDKLoginKit.framework 文件复制到我的 cn1 项目中的 native/iOS 目录中。这是我的本机代码:

#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

谢谢。

更新。构建错误:

** 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.

【问题讨论】:

    标签: ios objective-c facebook native codenameone


    【解决方案1】:

    我认为#import &lt;FBSDKLoginKit/FBSDKLoginKit.h&gt; 通常应该是正确的值。但实际上,我建议您使用Cocoapods

    【讨论】:

    • 非常感谢。所以我应该添加构建提示。 ios.pods=Facebook-iOS-SDK ?然后 #import 或者我不需要导入,因为我正在添加 pod?
    • 更新。好的,所以我添加了 NSObject pod 以及 Bolts pod,它们阻止了我之前遇到的错误,但现在我遇到了其他错误,如下所示:&lt;PBXGroup name=Frameworks` UUID=0F634E7718E9ABBC002F3D1D>` 试图初始化一个对象使用未知的 UUID。 0F634EA218E9ABBC002F3D1D 用于属性:children。这可能是合并的结果,并且未知的 UUID 被丢弃。
    猜你喜欢
    • 2017-06-19
    • 1970-01-01
    • 2019-08-10
    • 2023-04-02
    • 1970-01-01
    • 2019-07-16
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多