Reputation: 1328
I'm trying to build an Ionic 2 app with push notification in iOS.
I added Phonegap plugin push notification with this command line :
cordova plugin add phonegap-plugin-push --variable SENDER_ID=12341234 --save
But when I try to run my project in a device I have this error in xcode :
"GoogleCloudMessaging.h" file not found
I looked for a solution and I had install Cocoapods. I removed platform iOS and I try to add it with this command line :
sudo ionic platform add ios
I had this error :
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>'
I tried to run "pod install" directly in platforms/ios folder, but same issue.
So I try to remove sudo in the commande :
ionic platform add ios
But obviously I have this error :
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'
I really don't know what I have to do to solve that. An Idea ?
Upvotes: 6
Views: 10772
Reputation: 2953
It's working for me
If you use any plugin and platform add please install and add without "sudo".
If needed permission them go to the project directory and click
setting->Get Info
to give "Read & Write" permission then you can install plugin and platform without "sudo"
ionic cordova plugin add [email protected]
ionic cordova build ios --prod
Upvotes: 0
Reputation: 49
If anyone is still having issues, I got it to work by running
pod install
in platforms/ios and you may need to add permissions in that folder before that
sudo chown -R *username* platforms/ios
Upvotes: 2
Reputation: 153
To allow code executions on your mac without using sudo simply run.
sudo chown -R Username /Users/username/Document/project location
Upvotes: 1
Reputation: 626
Try update Cordova version, remove platforms and add again:
npm install -g cordova
cordova platform remove android
cordova platform remove ios
cordova platform add android
cordova platform add ios
cordova plugin add phonegap-plugin-push --save
I had the same problem and its worked for me.
Upvotes: 2