2

I am working on an Ionic application which uses the oneSignal plugin. My project is developed under Windows and the plugin works very well. But when I recover my project on mac, the plugin refuses to install

1) I get my project with the git commands

2) I open the access rights to my project folder

3) I added :

sudo npm i --unsafe-perm
sudo gem install cocoapods
pod setup
pod repo update

4) finally when I add

sudo cordova platform add ios@latest

I get this warning :

"framework" tag with type "podspec" is deprecated and will be removed. Please use the "podspec" tag.

Failed to install 'onesignal-cordova-plugin': undefined

Failed to restore plugin "onesignal-cordova-plugin" from config.xml. You might need to try adding it again. 
Error: /Library/Ruby/Gems/2.3.0/gems/claide-1.0.3/lib/claide/command.rb:439:in `help!':
 [!] You cannot run CocoaPods as root. (CLAide::Help)

If I try to uninstall and install oneSignal again I get this alert :

"framework" tag with type "podspec" is deprecated and will be removed. Please use the "podspec" tag.
Failed to install 'onesignal-cordova-plugin': undefined

CordovaError: Promise rejected with non-error: '/Library/Ruby/Gems/2.3.0/gems/claide-1.0.3/lib/claide/command.rb:439:in `help!\': \u001b[31m[!] You cannot run CocoaPods as root.\u001b[39m (CLAide::Help)\n\n\u001b[4mUsage:\u001b[24m\n\n    $ \u001b[32mpod\u001b[39m \u001b[32mCOMMAND\u001b[39m\n\n      CocoaPods, the Cocoa library package manager.\n\n\u001b[4mCommands:\u001b[24m\n\n    \u001b[32m+ cache\u001b[39m      Manipulate the CocoaPods cache\n    \u001b[32m+ env\u001b[39m        Display pod environment\n    \u001b[32m+ init\u001b[39m       Generate a Podfile for the current directory\n    \u001b[32m+ install\u001b[39m    Install project dependencies according to versions from a\n                 Podfile.lock\n    \u001b[32m+ ipc\u001b[39m        Inter-process communication\n    \u001b[32m+ lib\u001b[39m        Develop pods\n    \u001b[32m+ list\u001b[39m       List pods\n    \u001b[32m+ outdated\u001b[39m   Show outdated project dependencies\n    \u001b[32m+ repo\u001b[39m       Manage spec-repositories\n    \u001b[32m+ setup\u001b[39m      Setup the CocoaPods environment\n    \u001b[32m+ spec\u001b[39m       Manage pod specs\n    \u001b[32m+ update\u001b[39m     Update outdated project dependencies and create new Podfile.lock\n\n\u001b[4mOptions:\u001b[24m\n\n    \u001b[34m--silent\u001b[39m     Show nothing\n    \u001b[34m--version\u001b[39m    Show the version of the tool\n    \u001b[34m--verbose\u001b[39m    Show more debugging information\n    \u001b[34m--no-ansi\u001b[39m    Show output without ANSI codes\n    \u001b[34m--help\u001b[39m       Show help banner of specified command\n\tfrom /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.4/lib/cocoapods/command.rb:47:in `run\'\n\tfrom /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.4/bin/pod:55:in `<top (required)>\'\n\tfrom /usr/local/bin/pod:22:in `load\'\n\tfrom /usr/local/bin/pod:22:in `<main>\'\n'

I saw that it was advisable to install the oneSignal plugin without sudo but when I do this I get this error message:

Error: EACCES: permission denied, open '/Users/macos/Library/Preferences/insight-nodejs/insight-cordova.json.1999532748'

Cordova -v : 9.0.0 (cordova-lib@9.0.1) - ionic -v : 5.2.3

Do you have any idea of the problem ?

2 Answers2

3

please install xcode 11.5

cordova platform remove ios
brew install cocoapods --build-from-source
brew link --overwrite cocoapods
cordova platform add ios

then it will work

Ajith jojo
  • 395
  • 5
  • 17
0

For my case (cordova+onesignal trying to build on M1), running terminal using rosetta solved my problem.