16

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

当我尝试运行该项目时,出现以下错误:

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

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

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

4

6 回答 6

15

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

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

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

于 2013-11-13T07:03:45.300 回答
9

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

于 2015-05-07T08:30:21.150 回答
6

来自 Crashlytics 的 Hemal!

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

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

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

于 2013-09-30T15:53:57.710 回答
3

一个简单而快速的解决方法是删除您的 Crashlytics 框架并在您的项目中再次添加它。这将解决问题。

于 2014-02-06T12:46:51.863 回答
3

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

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

编辑:添加到我上面所说的内容,只是删除运行脚本并不能完全解决问题,因为您仍然需要使用 Fabric/Crashlytics。我最终不得不联系 Crashlytics,这就是他们告诉我的(类似于@singhSan 的响应):

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

问题解决了。

于 2015-03-10T14:57:48.883 回答
2

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

chmod +x Crashlytics.framework/run
chmod +x Crashlytics.framework/uploadDSYM
于 2017-09-12T12:11:58.907 回答