【问题标题】:Ionic2 integrate custom iOS plugin with Alamofire framework as dependencyIonic2 将自定义 iOS 插件与 Alamofire 框架集成为依赖项
【发布时间】:2017-06-15 08:24:04
【问题描述】:

我的机器上安装了 cordova 7.0Ionic 3.4.0。 我使用 plugman 制作了一个自定义插件,其结构如下:

src - ios & android folders with the native files
www - .js file
plugin.xml
package.json

将它添加到 Ionic 2 项目(使用 cordova-ios 4.4.0)可以正常工作,它按预期生成,我可以使用它。

现在我需要添加 Alamofire 框架 作为插件的依赖项。我需要在安装插件时自动处理。我从文档 (How to add framework as dependency) 中看到我应该添加:

<framework src="GoogleCloudMessaging" type="podspec" spec="~> 1.2.0" />

到自定义插件中的plugin.xml。我添加了它,但是当我将插件重新添加到 ionic2 项目中时,它也没有安装框架/pod。

我看到了与我相关的其他主题,但都没有帮助我。我已经尝试了所有方法,但我无法完成。

此外,根据文档,plugin.xml 中的标签有些奇怪:

与 type="podspec" 配对,这是您要安装的 CocoaPod 的规范字符串(仅限静态库)。 CocoaPod 支持仅存在于 cordova-ios 4.3.0 和 cordova-cli 6.4.0 中。对于您的插件,请确保添加适当的标签和 package.json 依赖项以确保支持向后兼容。

这不是很奇怪,它是否适用于较新版本的cordova-ios?

插件 - package.json 内容:

{
    "name": "cordova-plugin-requestService",
    "version": "1.0.0",
    "author": "*******",
    "private": true,
    "engines": {
        "cordovaDependencies": {
            "1.0.0":  { "cordova-ios": ">=4.4.0" }
        }
    }
}

plugin.xml 内容:

<!-- iOS -->
<platform name="ios">
    <dependency id="cordova-plugin-add-swift-support" version="^1.6.0" />
    <framework src="Alamofire" type="podspec" spec="~> 4.4.0" />
    <config-file target="config.xml" parent="/*">
        <feature name="requestService">
            <param name="ios-package" value="requestService" />
        </feature>
    </config-file>
    <source-file src="src/ios/requestService.swift" />
</platform>

【问题讨论】:

    标签: ios cordova ionic2 cocoapods plugman


    【解决方案1】:

    我主要解决了问题:

    • 重新启动了 Ionic(使用最新版本的 cordova 和 ionic) - 由于 cli 和项目之间的不兼容,将迁移到较新的版本。

    • 自定义插件的plugin.xml中使用的标签

    • 添加平台 - 没有插件(暂时)
    • 手动添加插件(会生成podfile到平台等) 它虽然会因为 Alamofire 而引发错误。添加到 podfile use_frameworks!应该没问题。

    我也在触发平台添加ios时自动添加了插件

    不幸的是,cordova 还不支持这一点,但这是一个悬而未决的问题: https://issues.apache.org/jira/browse/CB-11893

    如果您不想每次都手动编写,可以在添加平台后使用钩子或https://github.com/blakgeek/cordova-plugin-cocoapods-support

    【讨论】:

      猜你喜欢
      • 2016-11-29
      • 2021-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      • 2021-12-02
      • 1970-01-01
      • 2015-10-08
      相关资源
      最近更新 更多