Nativescript-cli: Invalid `Podfile` file: syntax error, unexpected keyword_end

Created on 21 Jun 2019  路  3Comments  路  Source: NativeScript/nativescript-cli

Which platform(s) does your issue occur on?

  • iOS

Please, provide the following version numbers that your issue occurs with:

  • CLI: 5.4.2
  • Cross-platform modules: 5.0.0
  • Runtime(s): tns-ios: 5.4.2
  • Plugins (the demo app created by running npm run postclone):
  "dependencies": {
    "nativescript-theme-core": "~1.0.4",
    "nativescript-twilio-chat": "file:../src",
    "tns-core-modules": "~5.4.0"
  },
  "devDependencies": {
    "nativescript-dev-typescript": "~0.10.0",
    "nativescript-dev-webpack": "~0.24.0"
  },

Please, tell us how to recreate the issue in as much detail as possible.

  • sudo gem install cocoapods (if not already installed)
  • mkdir plugin-test
  • cd plugin-test
  • git clone https://github.com/NativeScript/nativescript-plugin-seed _plugins/nativescript-version-number
  • cd _plugins/nativescript-version-number/src
  • npm run postclone
  • I entered twilio-chat for the plugin name and chose defaults (create a demo TypeScript app)
  • create the following Podfile in _plugins/nativescript-version-number/src/platforms/ios (as per Twilio Programable Chat docs)
source 'https://github.com/CocoaPods/Specs'

target 'MyTarget' do
  pod 'TwilioChatClient', '~> 2.4.2'
end
  • replace MyTarget with demo
  • in 2 terminal windows, both in _plugins/nativescript-version-number/src, run:
  • npm run plugin.tscwatch
  • npm run demo.ios

Result: [!] Invalid 'Podfile' file: syntax error, unexpected keyword_end, expecting end-of-input.
The generated Podfile (_plugins/nativescript-version-number/demo/platforms/ios/Podfile) looks like this:

use_frameworks!

target "demo" do
end

end

# Begin Podfile - /www/plugin-test/_plugins/nativescript-version-number/demo/node_modules/nativescript-twilio-chat/platforms/ios/Podfile
source 'https://github.com/CocoaPods/Specs'

target 'demo' do
  pod 'TwilioChatClient', '~> 2.4.2'
end

# End Podfile
end

Removing the end in my Podfile, I still get the same error (and just one less end in the resulting Podfile).
At one point I even got a Duplicate target "demo" error, so I even tried removing the line target 'demo' do line from my Podfile, but still no luck, still got the [!] Invalid 'Podfile' file: syntax error, unexpected keyword_end, expecting end-of-input. error.
Even if I delete all content from my Podfile, to have it empty, I still get a bad resulting Podfile:

use_frameworks!

target "demo" do
end

end

# Begin Podfile - /www/plugin-testt/_plugins/nativescript-version-number/demo/node_modules/nativescript-twilio-chat/platforms/ios/Podfile

# End Podfile
end
bug CocoaPods build

All 3 comments

Hi @MrCroft ,

I have moved this issue to the nativescript-cli repository as it is related to its functionality rather than the plugin seed itself.

Hey @MrCroft ,
Thanks for reporting this unexpected behavior. We've investigated it on our side and we've successfully reproduced it with your steps.
The problem is that CLI does not expect to find target with project's name in any of the Podfiles

target 'MyTarget' do
  ...
end

CLI automatically creates this target and when it is already in one of the Podfiles, it fails to create correct Podfile.
To workaround the issue, you can just remove the target line, i.e. replace:

target 'MyTarget' do
  pod 'TwilioChatClient', '~> 2.4.2'
end

with

pod 'TwilioChatClient', '~> 2.4.2'

After that remove your platforms dir and try building application again.

@rosen-vladimirov indeed, it works. I think I did also try with just having the pod declaration line in the Podfile, but the one thing I didn't do was to remove the platforms dir before anything else, after changing the plugin Podfile. Or maybe I still had the source '...' line in there, that came from the TwilioChatClient docs.
Anyway, it does work with just having the pod declaration line. Thanks! And sorry for the trouble!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ZMW9 picture ZMW9  路  3Comments

NickIliev picture NickIliev  路  3Comments

kefahB picture kefahB  路  3Comments

bradmartin picture bradmartin  路  3Comments

empirebattles picture empirebattles  路  3Comments