【发布时间】:2026-01-05 14:05:02
【问题描述】:
我有一个 Ionic v1 项目,但在构建 ios 时遇到了问题。几乎我所有的cordova插件都没有添加到文件夹plugin下左栏的Xcode项目中。 科尔多瓦版本:6.2.0 Xcode 版本:8.3.3
我已经完成了:
cordova platforms rm ios
cordova platforms add ios
cordova build ios
编译正常但是插件文件没有添加到我的Xcode项目中(我运行app的时候很多XXXPlugin class CDVXXXX (pluginName: XXX) 不存在)。
- 插件文件被添加到platforms/ios/MyProject/Plugins(我可以看到不同的文件夹和文件.h et .m)。
- 但是当我打开 Xcode 项目时,只有我的一个插件 (Branch.io) 的文件,所有其他的都不在这里 (cordova-plugin-camera、cordova-plugin-geolocation、cordova-plugin- inappbrowser 等)
- 在我的 config.xml 中,似乎没问题(例如:
<plugin name="cordova-plugin-geolocation" spec="~2.4.3" />) - 在platforms/ios/MyProject/config.xml 中,似乎也可以(例如:
<feature name="Geolocation"><param name="ios-package" value="CDVLocation" /></feature>)
我可以手动添加它们,但这需要时间,而且每次我删除并重新添加平台时,我都必须重新添加。
我不知道该怎么做,有什么想法我做错了吗?为什么 XCode 在第一个之后停止导入插件文件(BranchSDK 似乎是按字母顺序排列的第一个)?
我的 package.json :
{
"name": "myapp",
"version": "1.1.1",
"description": "myapp: An Ionic project",
"dependencies": {
"grunt-contrib-compress": "^1.3.0",
"grunt-contrib-uglify": "^2.0.0",
"gulp": "^3.5.6",
"gulp-concat": "^2.2.0",
"gulp-minify-css": "^0.3.0",
"gulp-rename": "^1.2.0",
"gulp-sass": "^2.0.4",
"ionic-native-transitions": "^1.0.2",
"moment": "^2.14.1",
"ng2-translate": "^2.2.2",
"plist": "^2.0.1"
},
"devDependencies": {
"angular-translate": "^2.15.2",
"bower": "^1.3.3",
"coffee-script": "^1.10.0",
"grunt-contrib-compress": "^1.3.0",
"grunt-contrib-uglify": "^2.0.0",
"gulp-angular-templatecache": "^2.0.0",
"gulp-ng-annotate": "^2.0.0",
"gulp-useref": "^3.1.2",
"gulp-util": "^2.2.14",
"mv": "^2.1.1",
"shelljs": "^0.3.0"
},
"cordovaPlugins": [
"cordova-plugin-whitelist",
"cordova-plugin-console",
"cordova-plugin-device",
"cordova-plugin-splashscreen",
"ionic-plugin-keyboard",
"cordova-plugin-network-information",
"cordova-plugin-geolocation",
"cordova-plugin-badge"
],
"cordovaPlatforms": [
"android",
{
"platform": "ios",
"version": "4.1.1",
"locator": "ios@4.1.1"
}
]
}
谢谢
【问题讨论】:
-
好的..删除我的答案,因为它不正确
-
请分享您的 package.json 文件内容
-
我用 package.json 更新了我的帖子。现在我将我所有的插件文件(.h、.m 和 .framework)一一添加到左侧的 Xcode 项目中(在文件夹资源管理器中),但这非常痛苦。而且如果删除ios平台并重新添加它,我将不得不再次这样做。
标签: ios xcode cordova ionic-framework