gpt4 book ai didi

ios - 找不到 Project-Swift.h 文件

转载 作者:搜寻专家 更新时间:2023-11-01 05:49:39 55 4
gpt4 key购买 nike

我有一个包含一些文件的新 Swift 项目,我需要添加一些 Objc 代码。

Build Settings中,我的Objective-C Generated Interface Header NameMyProject-Swift.h

Product Module NameProduct Name 都是 MyProject。


我的 Objective-C Bridging HeaderMyProject/MyProject-Bridging-Header.h

我的 Bridging Header 的内容是:

#ifndef MyProject_Bridging_Header_h
#define MyProject_Bridging_Header_h

#import "Blakey.h"

#endif

Blakey.h 非常简单:

@import Foundation;

#import "MyProject-Swift.h"
@class KeyPair;

@interface Blakey: NSObject

- (void)createKeyPairForSeed:(NSString *)seed;

@end

Blakey.m

#import <Foundation/Foundation.h>
#import "Blakey.h"

@implementation Blakey


- (void)createKeyPairForSeed:(NSString *)seed;
{

}

@end

(旁注:我知道我的函数返回一个空值,一旦这个问题得到解决,它会在稍后更改,因此它返回一个实际值)

为什么 Xcode 在 Blakey.h 中的 #import "MyProject-Swift.h" 处抛出错误?

最佳答案

Project-Swift.h 是 Xcode 在成功编译项目时自动生成的文件。这里要注意的是编译成功 如果你的项目有任何编译错误,Project-Swift.h文件将不会生成。所以在某种程度上它变成了一个僵局。 Bestway 注释掉所有有编译错误的行,然后设法让它编译没有任何错误。只有在那之后才会生成 Project-Swift.h

其他信息,一旦 Project-Swift.h 文件生成后,如果您打开它,如果您碰巧看到您的 swift 类没有被导入,那是因为 Project-Swift。 h 仅导入从 NSObject 扩展的类,因此不会导入纯 Swift 类。

问题:

您需要在 .m 文件而不是 .h 文件中导入 Project-Swift.h。所以将你的 Blakey 修改为

#import <Foundation/Foundation.h>
#import "Blakey.h"
#import "MyProject-Swift.h"

@implementation Blakey


- (void)createKeyPairForSeed:(NSString *)seed;
{

}

最后从 Blakey.h删除 #import "MyProject-Swift.h"

@import Foundation;

@class KeyPair;

@interface Blakey: NSObject

- (void)createKeyPairForSeed:(NSString *)seed;

@end

关于ios - 找不到 Project-Swift.h 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47679450/

55 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com