xcode 语义问题:加入Framework类别指涉时使用未宣告的识别项

z8dt9xmd  于 2022-12-05  发布在  其他
关注(0)|答案(2)|浏览(113)

我已经通过Targets -〉Build Phases -〉Link binary with Libraries将一些框架添加到了我的项目中。特别是,我正在谈论AVFoundation. framework。我还将所有框架添加到了项目导航器中的Frameworks文件夹中。
然而,当我尝试引用链接框架中的类时,我得到了“语义问题-使用未声明的标识符”错误。
例如,我在下面两行中得到了这些错误:

- (void)viewDidLoad {
    [super viewDidLoad];
    AVCaptureSession *session = [[AVCaptureSession alloc] init];
    session.sessionPreset = AVCaptureSessionPresetMedium;
}

我想知道框架是否正确地链接到了我的项目。那么,我该如何解决这个问题呢?我必须说,我对iOS和ObjC开发是一个新手。
谢谢你

vm0i2vca

vm0i2vca1#

看起来你忘了:

#import <AVFoundation/AVCaptureSession.h>
v64noz0r

v64noz0r2#

在我的示例中,import语句位于此块的中间#ifdef FB_SONARKIT_ENABLED / #endif从块中取回它们后,归档成功。
之前

#import "AppDelegate.h"

#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
#import <RNGoogleSignin/RNGoogleSignin.h>

#ifdef FB_SONARKIT_ENABLED
#import <FlipperKit/FlipperClient.h>
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h>
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
...
#endif

之后

#import "AppDelegate.h"

#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
#import <RNGoogleSignin/RNGoogleSignin.h>
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>

#ifdef FB_SONARKIT_ENABLED
#import <FlipperKit/FlipperClient.h>
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h>
...
#endif

相关问题