Swift iOS GoogleAPIClientForREST – Shell 脚本调用错误 GTMSessionFetcher.framework:没有这样的文件或目录

Posted

技术标签:

【中文标题】Swift iOS GoogleAPIClientForREST – Shell 脚本调用错误 GTMSessionFetcher.framework:没有这样的文件或目录【英文标题】:Swift iOS GoogleAPIClientForREST – Shell Script Invocation Error GTMSessionFetcher.framework: No such file or directory 【发布时间】:2019-03-10 01:15:50 【问题描述】:

我正在使用 XCode 9.2 编写一个 Swift ios 应用程序(我知道已经过时了),并且我尝试使用 Cocoapods 集成 GoogleAPIClientForREST。当您集成 GoogleAPIClientForREST(可能还有其他 pod,我不知道)时,它还会下载 GTMSessionFetcher。由于集成了 pod,应用程序将无法运行并给出此 Shell 脚本调用错误:

/Users/username/Library/Developer/Xcode/DerivedData/Teachers_Assistant-aphjxihtqtmedab​​cymmxjlmxduzc/Build/Products/Debug-iphonesimulator/Teachers Assistant.app/Frameworks/GTMSessionFetcher.framework:没有这样的文件或目录

但是,我无法打开 Teachers Assistant.app, 因为它不是文件夹。 GTMSessionFetcher.framework 存在,但在 link 的图像中以 红色 圈出的文件夹内,而不是在 蓝色 圈内的 .app 文件内强>。

我已经尝试过这个link 的建议,这个link 的问题中的建议,这个link,这个link 和这个link。它们都没有奏效,但如果您认为我在尝试执行这些步骤时做错了什么,请随时告诉我。

我所有的代码都在这个repo 在线,包括 podfile。感谢您的帮助!

其他信息:我计划使用 Google API 将表格自动化,作为一种存储信息系统来记录考勤数据和其他杂项信息,如果有帮助的话。

【问题讨论】:

"但是,我无法打开Teachers Assistant.app,因为它不是文件夹" 这是一个包,它是一个文件夹。 【参考方案1】:

项目名称不应包含特殊字符,如' 或空格,这可能会在 Cocoapods 尝试链接库时产生一些问题。我建议您将项目名称更改为 TeachersAssistance(它对我有用)。以下是建议的步骤:

    在导航器中更改项目名称。 Xcode 会建议你重新设计项目,接受它: 更新 podfile 以指向新目标的名称 Cocoapods 将创建一个新的工作区 TeachersAssistance。使用它并删除旧的。 从新工作区中移除 Pods_Teacher__Assistance。从现在开始,它将使用 Pods_TeachersAssistant。 再次编译并享受您的项目:)

【讨论】:

我已按照您的所有步骤进行操作,但在 3 上遇到了障碍。我将 target 行更改为 target 'TeachersAssistant' do(我将项目重命名为 TeachersAssistant),但它没有'不要创建一个新的工作区。如何让 pod 创建新的工作区? @qtngo @FIGBERT:您必须再次执行pod install,以便 Cocoapods 为您创建新的工作空间

以上是关于Swift iOS GoogleAPIClientForREST – Shell 脚本调用错误 GTMSessionFetcher.framework:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

GoogleApiClient.isConnected() 在飞行模式下返回 true

强制关闭 GoogleApiClient.connect()

使用 GoogleApiClient 静默登录以检索令牌

onCreate 与 onStart 中的 GoogleAPIClient 连接

如何将 GoogleApiClient 位置服务与 Google Api 一起使用?

捕捉 GoogleApiClient.disconnect() 回调