【发布时间】:2017-12-15 05:30:27
【问题描述】:
我正在尝试在 iOS 中构建一个带有推送通知的 Ionic 2 应用。
我用这个命令行添加了Phonegap插件推送通知:
cordova plugin add phonegap-plugin-push --variable SENDER_ID=12341234 --save
但是当我尝试在设备中运行我的项目时,我在 xcode 中出现了这个错误:
"GoogleCloudMessaging.h" file not found
我在寻找解决方案,我已经安装了 Cocoapods。我删除了平台 iOS 并尝试使用此命令行添加它:
sudo ionic platform add ios
我遇到了这个错误:
Installing "phonegap-plugin-push" for ios
Failed to install 'phonegap-plugin-push':undefined
Error: /Library/Ruby/Gems/2.0.0/gems/claide-1.0.2/lib/claide/command.rb:439:in `help!': [!] You cannot run CocoaPods as root. (CLAide::Help)
Usage:
$ pod COMMAND
CocoaPods, the Cocoa library package manager.
Commands:
+ cache Manipulate the CocoaPods cache
+ env Display pod environment
+ init Generate a Podfile for the current directory
+ install Install project dependencies according to versions from a
Podfile.lock
+ ipc Inter-process communication
+ lib Develop pods
+ list List pods
+ outdated Show outdated project dependencies
+ repo Manage spec-repositories
+ setup Setup the CocoaPods environment
+ spec Manage pod specs
+ update Update outdated project dependencies and create new Podfile.lock
Options:
--silent Show nothing
--version Show the version of the tool
--verbose Show more debugging information
--no-ansi Show output without ANSI codes
--help Show help banner of specified command
from /Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/command.rb:47:in `run'
from /Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/bin/pod:55:in `<top (required)>'
from /usr/local/bin/pod:23:in `load'
from /usr/local/bin/pod:23:in `<main>'
我尝试直接在平台/ios 文件夹中运行“pod install”,但同样的问题。
所以我尝试在命令中删除 sudo :
ionic platform add ios
但显然我有这个错误:
MacBook-Air-de-user:MyApp compagny$ ionic platform add ios
Error during untar for /Users/user/.cordova/lib/npm_cache/cordova-ios/4.3.1/package.tgz: Error: EACCES: permission denied, open '/Users/user/.cordova/lib/npm_cache/cordova-ios/4.3.1/package/package.json'
Error: Failed to fetch platform ios
Probably this is either a connection problem, or platform spec is incorrect.
Check your connection and platform name/version/URL.
Error: EACCES: permission denied, open '/Users/user/.cordova/lib/npm_cache/cordova-ios/4.3.1/package/package.json'
我真的不知道该怎么做才能解决这个问题。一个想法?
【问题讨论】:
-
您好,遇到同样的问题,您能解决吗?
-
我能够通过删除“.cordova”目录并重新开始来解决问题,同时确保不使用 sudo。使用 sudo rm -Rf ~/.cordova t
-
我还没有找到解决这个问题的方法。我只是改变了我的方法,只使用了 firebase:angularfirebase.com/lessons/… 但可以肯定:使用 sudo 是魔鬼。
标签: ios cordova push-notification ionic2 cocoapods