FlineDev / BartyCrouch

Localization/I18n: Incrementally update/translate your Strings files from .swift, .h, .m(m), .storyboard or .xib files.
MIT License
1.36k stars 121 forks source link

Getting "Could not extract strings from Storyboard or XIB at path" error #87

Open wilkins-mydreams opened 6 years ago

wilkins-mydreams commented 6 years ago

Hi!

I am trying to update Storyboard string files in terminal with this command: bartycrouch interfaces -p /Users/Alex/Desktop/Test\ BartyCrouch I am getting this error: Could not extract strings from Storyboard or XIB at path. But if I just use run script as explained in documentation everything is updated as expected

My test project is right here

Would be pleased for any clues.

Urkman commented 6 years ago

I have the same problem :( Any news on this?

Jeehut commented 6 years ago

Hi guys, sorry for getting back to you so late. Didn't have time earlier.

I just downloaded the test project and ran the above command using the latest BartyCrouch (3.11.2) and got this result:

ℹ️ BartyCrouch: Successfully updated strings file(s) of Storyboard or XIB file.
ℹ️ BartyCrouch: Successfully updated strings file(s) of Storyboard or XIB file.
ℹ️ BartyCrouch: Successfully updated strings file(s) of Storyboard or XIB file.

Are you sure this problem still exists? Would be glad to hear from you guys. And if the problem still exists, could you explain why I'm getting this result? What do I need to do to replicate this?

hschaaps commented 6 years ago

I'm also having this issue using 3.13.1 (bartycrouch-3.13.1.mojave.bottle.tar.gz) Due to a sick kid I'm working from home on my new MacBook with Mojave (Xcode 10). Did a fresh install of Home-brew and then installed bartycrouch.

Using: bartycrouch interfaces -p "Foldername" results in: ❌ Error! Could not extract strings from Storyboard or XIB at path

Using: bartycrouch code -p "Foldername" -l "Foldername"/Supporting\ Files results in: ❌ Error! Could not extract strings from Code in directory 'Foldername'.

It doesn't seem to be project related as I tried a dozen and they all result in the same errors.

My co-workers who upgraded their Macs to Mojave don't seem to have this issue, they did have bartycrouch installed before upgrading to Mojave. They tried upgrading to the latest BartyCrouch version and it still works for them.

Fix (for met at least) Did some debugging of Barty and the underlying issue was: xcode-select: error: tool \'genstrings\' requires Xcode, but active developer directory \'/Library/Developer/CommandLineTools\' is a command line tools instance

The following command fixed it: sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

I think the issue was caused by installing home-brew that also installed the command line tools and something went wrong...

Jeehut commented 6 years ago

I just removed bartycrouch entirely via brew remove bartycrouch -f and installed it again via brew install bartycrouch on macOS Mojave. It just downloaded the prebuilt version and all worked fine.

What could be the issue actually is that somehow Xcode 10 seems to handle command line tools differently. I noticed this with another tool installation, which told me I hadn't installed the command line tools yet although I just installed Xcode 10 from the App Store. The solution is probably just to install this, too: xcode-select --install

Thanks for bringing this up, I will look into it and try to add an error when these tools are missing which helps more than simply failing. Also it's planned to make BartyCrouch compatible with Swift Package Manager. I guess then this shouldn't be a problem anymore.