【问题标题】:iOS xcode 5 crashlytics error - Shell Script Invocation Error - ./Crashlytics.framework/run: Permission deniediOS xcode 5 crashlytics 错误 - Shell 脚本调用错误 - ./Crashlytics.framework/run: Permission denied
【发布时间】:2013-10-05 08:13:36
【问题描述】:

我已将 Crashlytics 框架添加到我的项目中,并带有一个脚本。 运行脚本: 外壳:/bin/sh 脚本:./Crashlytics.framework/run KEY_HERE

当我尝试运行项目时,我收到以下错误:

Shell 脚本调用错误 - ./Crashlytics.framework/run: Permission denied

但是如果我删除框架并再次添加它,它运行良好......一次。然后下次我得到同样的错误。然后我必须删除它,然后重新添加它,因为它只运行一次,然后是同样的故事......

有人知道如何解决这个问题吗?提前致谢。

【问题讨论】:

    标签: ios xcode5 invocation crashlytics


    【解决方案1】:

    您是否将项目和 Crashlytics 框架保存在 Dropbox 中?我注意到 Dropbox 更改/重置了权限集。 尝试暂停 Dropbox 同步,然后将Crashlytics.framework/run 的权限设置为 755。

    更新:
    chmod 755 run 只为我暂时工作。 正如 Hemal Shah 在他的回答中所写,我还必须告诉 git 使 run 可执行。你可以通过调用git update-index --chmod=+x run 并提交它来做到这一点。 (通过this answer)。

    在将我的项目和 Crashlytics 框架从 Dropbox 中移出并执行此操作后,它没有其他问题。

    【讨论】:

    • 我确实使用了保管箱。好点子。我会试试的。谢谢!
    • 还没有使用它,因为我正在处理另一个项目,但会回复你:)
    • 刚刚为我工作。它实际上只是在我在另一台计算机上打开项目后才发生的,我自己运行它大约一个月。 chmod 755 成功了!
    • @B-Man 你运气好吗?
    • @flo 我相信你是对的,因为我使用的是保管箱,现在我没有也没有问题 :) 谢谢 :)
    【解决方案2】:

    如果您使用 Crashlytics,请在终端中导航到 Crashlytics.framework 文件夹,如果您已经使用 Fabric,请转到 Fabric.framework 文件夹。 run 应该在那里。并通过在终端中运行它来更改权限:chmod 755 run

    【讨论】:

    • 在某些情况下我还需要“chmod 755 uploadDSYM”。
    • @Abdurrahman Mubeen Ali '你是对的' 我还需要 "chmod 755 uploadDSYM"
    【解决方案3】:

    来自 Crashlytics 的 Hemal!

    有几件事可能会导致此问题 - 请确保您运行的是最新版本的 Crashlytics。如果单击右下角,则发行说明应显示“-为 iPhone 5s 添加了 arm64 支持”。

    仔细检查您的 SCM 是否需要它,“运行”二进制文件是否标记为可执行!

    此外,请确保您的系统上只有一份 Crashlytics.app 副本和您的项目中的一份 Crashlytics.framework 副本,并且您链接到被调用的同一个副本。

    【讨论】:

      【解决方案4】:

      我想包括我的答案,以防其他人遇到类似问题但未使用 Crashlytics。我正在使用 Twitter Fabric 并开始收到错误:./Fabric.framework/run permission denied

      进入构建阶段并删除运行脚本为我解决了这个问题。

      编辑:除了我上面所说的之外,仅删除运行脚本并不能完全解决问题,因为您仍然需要一个来使用 Fabric/Crashlytics。我最终不得不联系 Crashlytics,这就是他们告诉我的(类似于 @singhSan 的回复):

      “备份设置,直到您可以单击左上角的应用程序选择器箭头。然后单击“+新应用程序”并选择您的项目。这将用作修复模式并让您运行您需要的脚本构建阶段。”

      问题解决了。

      【讨论】:

        【解决方案5】:

        一个简单而快速的解决方法是删除您的 Crashlytics 框架,然后将其重新添加到您的项目中。这将解决问题。

        【讨论】:

          【解决方案6】:

          在您的项目文件夹中运行以下命令:-

          chmod +x Crashlytics.framework/run
          chmod +x Crashlytics.framework/uploadDSYM
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-02-24
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-11-21
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多