2

我在使用适用于 iOS 的 SoundCloud API 时遇到了一些问题。我已按照他们的快速入门指南(此处)上的说明进行操作,并像这样设置我的标题搜索路径。

Xcode 正在查找 SCUI.h,直到最近才出现任何语法错误。该应用程序在 iOS 模拟器上运行良好并执行 SoundCloud API 请求(SCRequest 方法)。但是我随后在设备上尝试它并遇到了这些错误,然后当我回到尝试在模拟器上进行测试时,我开始收到这些错误。

在阅读了错误消息并检查了我的链接库(here)后,我确定它与 Xcode 搜索标头的路径有关。或者也许那些库根本不存在?我似乎在 Finder 中看不到任何它们,甚至在我的链接库部分中以黑色显示的 .a 文件也是如此。

另外,我尝试过清洁产品(CMD+Shift+K)。这允许项目在模拟器上运行,但会导致“断言失败”:

Assertion failure in -[NXOAuth2Client initWithClientID:clientSecret:authorizeURL:tokenURL:accessToken:tokenType:persistent:delegate:], /Users/chiliesontoast/Desktop/iOS/Projects/MobileX Labs/MXLTest App/MXLTestApp/OAuth2Client/Sources/OAuth2Client/NXOAuth2Client.m:82

然后在尝试为设备构建时,它会返回错误。

有人对解决方案有任何建议吗?真的困扰了我一整天。

谢谢。

4

2 回答 2

3

啊,终于修好了!这是两件事的结合。

首要问题

第一个问题(此处此处)与库和搜索路径有关。我做了很多不同的事情,不知道是什么解决了它。我这样做了:

  1. 将标头搜索路径从“./**”更改为“$PROJECT_DIR”,最后更改为“../**”,这就是现在的样子。
  2. 删除了为 SoundCloud API 下载的所有文件。
  3. 删除 .gitmodules 和 .git/config 中已下载子模块的条目,然后从 .git/modules 中删除所有 API 文件夹。
  4. 然后我通过导航到终端中项目的根文件夹并运行来删除 git 缓存:

    git rm --cache ./OAuth2Client

(并为每个添加的子模块重复)。然后我重新安装了 SoundCloudAPI(使用 git)并可能清理了项目(CMD+Shift+K)。

第二期

第二个问题是一个奇怪的运行时错误

Assertion failure in -[NXOAuth2Client initWithClientID:clientSecret:authorizeURL:tokenURL:accessToken:tokenType:persistent:delegate:], /Users/chiliesontoast/Desktop/iOS/Projects/MobileX Labs/MXLTest App/MXLTestApp/OAuth2Client/Sources/OAuth2Client/NXOAuth2Client.m:82

在对 NXOAuth 进行认真研究并查看堆栈跟踪后,我意识到在尝试执行任何 SCRequest 方法之前,我需要在函数中包含以下代码:

[SCSoundCloud setClientID:@"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
                   secret:@"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
              redirectURL:[NSURL URLWithString:@"AppName://oauth"]];

所以,这就是我解决它的方法。我真的希望这对某人有所帮助,因为我被困了大约 20 个小时。

于 2012-11-13T18:32:56.913 回答
0

一直在与这个作斗争......一次又一次地出现错误(如果有人遇到与此不同的错误,请给我发消息 - 我保证我已经成功了)

无论如何,对我有用的是,当您单击项目文件时,您可以选择检查项目或目标的构建设置。在我将 $PROJECT_DIR 输入项目构建设置标题搜索路径而不是目标构建设置(或两者)之前,它对我不起作用

于 2013-10-31T01:38:13.350 回答