-1

我创建了一个新的 Intent 文件,现在出现以下链接器错误:

Undefined symbols for architecture arm64:

"_OBJC_METACLASS_$_INIntentResponse", referenced from:
      _OBJC_METACLASS_$_KWdsjkhfjkdhskfIntentResponse in KWdsjkhfjkdhskfIntent.o
  "_OBJC_CLASS_$_INIntentResponse", referenced from:
      _OBJC_CLASS_$_KWdsjkhfjkdhskfIntentResponse in KWdsjkhfjkdhskfIntent.o
  "_OBJC_CLASS_$_INIntent", referenced from:
      _OBJC_CLASS_$_KWdsjkhfjkdhskfIntent in KWdsjkhfjkdhskfIntent.o
  "_OBJC_METACLASS_$_INIntent", referenced from:
      _OBJC_METACLASS_$_KWdsjkhfjkdhskfIntent in KWdsjkhfjkdhskfIntent.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
4

4 回答 4

1

这是一个链接错误:将 Intents 和 IntentsUI 框架添加到您的目标。

在此处输入图像描述

于 2020-06-22T03:56:41.297 回答
1

从苹果论坛(埃德福):

看起来 Intent 框架没有链接到目标。在目标的 Build Phases 中,确保 Intents.framework 存在于 Link Binary with Libraries 阶段。

这解决了我的类似问题。

于 2019-06-11T23:47:14.213 回答
1

当我将自定义.intentdefinition文件添加到没有Intents扩展名的项目时,我遇到了这个问题。我通过以下步骤解决了它:

  • 删除.intentdefinition文件
  • 添加新的目标 Intents 扩展
  • 添加新的目标框架MyAppKit
  • 确保MyApp目标依赖于新的意图扩展和MyAppKit框架
  • 添加一个新.intentdefinition文件,仅检查目标的目标成员资格MyAppKit

在此之后,链接错误消失了。我还没有完成扩展,所以肯定还需要其他步骤,例如提供实现自定义意图的 IntentHandler 的实现。

这里可能并不严格要求该框架,但我认为这是推荐的方式,特别是如果您计划实现可以在后台解决的快捷方式。

于 2018-07-17T09:55:46.557 回答
0

当我尝试在两个不同的目标(主应用程序和意图扩展)上使用生成的意图代码时,我发生了这个错误,而每个目标都有不同的部署版本和架构。

我的主要应用程序正在部署到 ios 9.0 (armv7)并且意图扩展需要至少为 ios 12.0 (arm64)

为了解决这个问题,生成的意图代码必须只针对一种架构类型。就我而言,我必须将主应用程序部署版本升级到ios 12.0并将架构类型升级到arm64以匹配意图扩展。

于 2018-12-02T23:52:59.610 回答