找不到架构x86_64的符号-iOS

时间:2018-07-04 05:25:00

标签: ios objective-c swift

我有一个用Objective C编写的现有项目(EP)。我们的团队决定在Swift中开发一个新项目(NP),并将现有项目(用Objective C编写)添加为新项目的功能(在一个标签中显示现有应用作为一项功能)。

这是我所做的:

  1. 在Swift中创建了一个新项目,并将现有项目添加为Xcode中的子项目

  2. 在新项目的构建阶段下,我添加了现有项目(构建产品)作为目标依赖项。

  3. 为Swift项目创建了一个桥接标头(新的project-Bridging-Header.h),并将 Objective-C桥接标头中的标头称为 NP / NP-Bridging-新项目的构建设置下的Header.h

  4. 在标题搜索路径下,我添加了 $(SRCROOT)/ Path_To_Sub_Project 并将其设置为递归。 (在项目中和新项目的目标中)

  5. Other Linker Flags(其他链接器标记)下,添加了 -all_load -ObjC

  6. 在桥接头文件中添加了所需的Objective-C文件。

问题:    在一个新项目中,当我尝试引用目标c类时,遇到了引用问题。

ViewController.swift
  //viewdidload
   let vc = HomeViewController() //This is an objective c class.

Xcode可以识别HomeViewController,因为它在键入时会自动填充,并且Xcode不会引发任何实时问题。但是,当我尝试构建新项目时,出现以下错误。

错误:

"_OBJC_CLASS_$_HomeViewController", referenced from:
      objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

我怀疑问题与您要编译的体系结构有关。