代码之家  ›  专栏  ›  技术社区  ›  Tung Fam

清理生成后未找到myProjectName Swift.h

  •  0
  • Tung Fam  · 技术社区  · 7 年前

    花了很多时间在google上寻找解决方案,但是没有成功。非常希望有人能指出问题所在。

    所以我有 objc+swift项目 . 我有一个 Bridging Header 文件 imports 我需要在Swift中使用的Objc头文件。

    为了解释这个问题,我将分享两个场景。在第一个场景中,一切正常。在第二个显示错误。

    请注意:两种方案的代码基础相同。

    1. 我打开项目。
    2. 用力清洗。
    3. 显示错误: 'myProjectName-Swift.h' file not found

    用于桥接集管

    1. 我从场景1中获取相同的代码。
    2. 很难清洗
    3. 评论 进口 在里面 桥接头 文件
    4. 注释我使用Obc文件的Swift代码(在桥接头中声明,我在上一步中刚刚注释了这些文件)
    5. 我建立了这个项目。它成功了。
    6. 在里面 桥接头 文件和我使用Objc类的Swift代码。
    7. 再次运行(没有硬清洁),一切正常。

    我使用的是Xcode 10.0;Swift 4.2版

    UPDATE1 :我认为这与我在上面放置的第二个错误有关。也许它不能生成桥接文件。

    UPDATE2

    2 回复  |  直到 7 年前
        1
  •  1
  •   dosi    7 年前

    你不能使用 #import "ProjectName-Swift.h" 在头文件中。

    more information 关于这个:

    // MyObjcClass.h
    @class MySwiftClass;
    @protocol MySwiftProtocol;
    
    @interface MyObjcClass : NSObject
    - (MySwiftClass *)returnSwiftClassInstance;
    - (id <MySwiftProtocol>)returnInstanceAdoptingSwiftProtocol;
    // ...
    @end
    

    @objc

    你不能在Obj-C中使用Swift结构。

        2
  •  0
  •   Ramon Vasconcelos    7 年前

    从Swift到Objective C你只需要使用 #import "ProjectName-Swift.h"

    推荐文章