Zendesk & Ionic - cordova-plugin-zendesk 不为 IOS 构建

Posted

技术标签:

【中文标题】Zendesk & Ionic - cordova-plugin-zendesk 不为 IOS 构建【英文标题】:Zendesk & Ionic - cordova-plugin-zendesk doesn't build for IOS 【发布时间】:2020-05-26 13:43:12 【问题描述】:

我有一个混合应用程序,我需要在那里实现一个 Zendesk 工具。有一个我认为我正在尝试使用的插件:https://github.com/fleetio/cordova-plugin-zendesk

问题是我可以让它在 android 上运行,但在 ios 上构建失败并出现错误:

/Users/ionic/builds/casasoft/jobmate-frontend/ios/capacitor-cordova-ios-plugins/sources/CordovaPluginZendesk/Zendesk.m:3:9:找不到模块“ZendeskSDK”强>

我也尝试根据发行说明中的​​内容提供使用 CocoaPods 的集成器 我正在尝试很多尝试改变一些东西,但不幸的是没有任何成功。

这个插件在 3.0.1 Swift 5.1 GM 版本中使用 Zenbox:https://developer.zendesk.com/embeddables/docs/ios_support_sdk/release_notes#3.0.1-swift-5.1-gm-compatible-build 我使用离子 5 和电容器。它适用于 Android,但不适用于 IOS

我现在完全没有想法,我开始在黑暗中拍摄,但真的没有任何帮助。

以前有人在IOS上用过吗?我正在尝试使用 XCode 11 构建,但即使使用 XCode 10,错误总是相同的,即使使用 Appflow 服务(用于构建 ios 文件的离子产品)。

我错过了什么?你知道可能出了什么问题吗?也许它在某人的脑海中敲响了警钟......提前致谢。

【问题讨论】:

【参考方案1】:

该插件使用cordova-plugin-cocoapods-support 作为依赖项来配置CocoaPods 依赖项,而不是使用官方的Cordova 标签。

Capacitor 不支持那些自定义标签,有一个问题需要考虑,如果您有兴趣,请添加 +1 反应https://github.com/ionic-team/capacitor/issues/2773

但理想的解决方法是让插件作者移至official syntax

【讨论】:

【参考方案2】:

我试图自己调查一下。最终,我能够在 IOS 上构建,但我这样做只是出于好奇。

这是一种解决方法(使用@jcesarmobile 评论中提到的“官方语法”)。

这不是一个完全解决的问题,而且我不是 IOS 开发人员,所以我不确定这段代码是否 100% 有意义(但它有效)。 我在这里只是给可能遇到类似问题的每个人一个提示。

在plugin.xml

1) 删除了这一行

<dependency id="cordova-plugin-cocoapod-support" />

2) 在 'platform name="ios" 中删除这一行:

<pod name="ZendeskSDK" version="~> 3.0.1" />

3) 而不是这条已删除的行(从第 2 点开始)粘贴:

 <podspec>
  <config>
    <source url="https://cdn.cocoapods.org/"/>
  </config>
  <pods>
    <pod name="ZendeskSDK" git="https://github.com/zendesk/zendesk_sdk_ios.git" branch="3.0.1-swift5.1-GM" />
  </pods>
</podspec>

【讨论】:

以上是关于Zendesk & Ionic - cordova-plugin-zendesk 不为 IOS 构建的主要内容,如果未能解决你的问题,请参考以下文章

CORS 问题 (IONIC 3)

移动设备上的 Ionic 4 CORS 问题

解决 ionic 中的 CORS(跨域)

如何解决 Ionic2 中的 CORS 问题和 JSONP 问题

Ionic 3 - Laravel - 不向客户端发送允许 CORS 的标头

Ionic CLI 6.13.0 上的 CORS 问题