【问题标题】:Unable to use command genstrings in OS X El Capitan无法在 OS X El Capitan 中使用命令生成字符串
【发布时间】:2015-07-09 16:27:52
【问题描述】:

我正在开发一个在 OS X 10.11 El Capitan(Beta 3)中使用 Xcode 6.4 的 iOS 应用程序。

每当我尝试使用终端命令genstrings 进行本地化时,我都会收到消息

genstrings: 错误:无法找到实用程序“genstrings”,不是开发人员工具或在 PATH 中

自第二个测试版以来,我一直收到此错误。

有人需要处理这个问题吗?提前致谢!

【问题讨论】:

  • 在终端中打印$PATH 变量,然后在这些目录中检查genstrings 实用程序。如果在那里找不到它,则需要手动安装它或在路径中添加一个目录以便它可以找到该命令。
  • 感谢@ndmeiri 的回答。问题是genstrings dos 出现在其中一个目录中......这很奇怪
  • 我在 El Capitan 的发行版中遇到了同样的问题 :-(

标签: ios xcode genstrings osx-elcapitan


【解决方案1】:

您好,我在安装了 Xcode 7 的 OS X El Capitan 中尝试使用 Xcode 6.4 的 genstrings 时也遇到了这个问题。

由于某种原因,/Applications/Xcode.app/Contents/Developer/usr/bin 中 Xcode 6.4 的 genstrings 丢失了。我尝试通过运行 xcode-select --install 重新安装 Xcode Developer Tools,但无济于事。

我使用的解决方案是一种 hack,它从 Xcode 7 中的 genstrings 到 Xcode 6.4 的 Developer/usr/bin 路径建立符号链接,如以下命令所示。

sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/usr/bin/genstrings /Applications/Xcode.app/Contents/Developer/usr/bin

【讨论】:

  • 感谢@Nicholas 的帮助!它似乎工作。我想这是一个临时修复
  • 我只安装了 Xcode 6.4 并且遇到了同样的问题。奇怪的是我的机器上确实有可执行文件/usr/bin/genstrings,但是当我运行它时,我得到了同样的错误。我目前唯一的解决方法是并行安装 Xcode 7 并指向那个 genstrings 吗?这太奇怪了...... :-(
  • 在将我的 6.4 版本重命名为 Xcode 6.4.app 后,我将 Xcode 7 安装为 Xcode.app。现在 genstrings 再次工作,但现在我的 cocoapods 没有。所有这一切的解决方案是否以某种方式切换回 6.4 命令行工具(我认为这是值得称赞的)然后像 Nicholas 所说的那样建立符号链接?
  • 好的,就是这样——只需要在Xcode设置中切换命令行工具的版本即可。所以我的解决方案是:(1)同时安装 6.4 和 7,(2)需要运行 cocoapods 时在首选项中选择 6.4 版本的命令行工具,(3)需要运行时在首选项中选择 7 版本的命令行工具生成字符串。当然,这个符号链接也是一个绝妙的技巧。
【解决方案2】:

Apple 似乎没有提供长期解决方案

OS X El Capitan 不再附带 genstrings。该实用程序由 Xcode 7 提供。这意味着旧版本的 Xcode 不会像在旧版本的 OS X 上那样在 /usr/bin 中找到 genstrings。(19708961)

Xcode 7 Release Notes

【讨论】:

    【解决方案3】:

    对我来说,我需要更改我的活动开发者目录的路径。

    您可以通过运行以下命令查看当前活动的开发者目录:

    $ xcode-select -p
    

    最初输出/Library/Developer/CommandLineTools

    解决方案:

    我不得不跑

    $ sudo xcode-select -s /Applications/Xcode.app
    

    然后将第一个命令的输出更改为/Applications/Xcode.app/Contents/Developer。之后,genstrings 命令就被正确找到了。

    【讨论】:

      【解决方案4】:

      OS X 10.11 (El Capitan) 不再包含genstrings(请参阅Xcode 7 Release Notes)。它现在包含在 Xcode 7 中。如果您选择 Xcode 6.4 作为命令行工具,您将无法运行 genstrings。但是,您可以使用 xcrun 并设置 DEVELOPER_DIR 环境变量以从 Xcode 7 运行它,即使该版本未被选为命令行工具:

      DEVELOPER_DIR=<path to Xcode 7.x> xcrun genstrings
      

      例如,如果您将最新版本的 Xcode 安装为 /Applications/Xcode.app,您可以这样做

      DEVELOPER_DIR=/Applications/Xcode.app xcrun genstrings
      

      【讨论】:

        猜你喜欢
        • 2016-01-27
        • 1970-01-01
        • 1970-01-01
        • 2017-02-27
        • 2015-11-05
        • 2016-11-02
        相关资源
        最近更新 更多