我在使用适用于iOS的SoundCloud API时遇到了一些问题。我按照快速入门指南(here)上的说明进行操作,并将我的标题搜索路径设置为so。
Xcode正在寻找SCUI.h,直到最近才发现任何语法错误。该应用程序在iOS模拟器上正常运行并执行SoundCloud API请求(SCRequest方法)。但是我接着在设备上尝试它并遇到these错误,然后当我回去尝试在模拟器上测试时,我开始收到these错误。
在阅读错误消息并检查我的链接库(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
然后在尝试为设备构建时,它会返回this错误。
有人对解决方案有任何建议吗?这一整天都困扰着我。
感谢。
答案 0 :(得分:3)
第一个问题(here和here)与库和搜索路径有关。我做了很多不同的事情,不确定修复了什么。我这样做了:
然后我通过导航到终端中项目的根文件夹并运行来删除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个小时。
答案 1 :(得分:0)
一直在争吵这个...错误后点击错误(如果有人遇到不同的一个,请给我留言 - 我保证我已经点击了它)
无论如何,对我有用的是,当您单击项目文件时,您可以选择检查项目或目标的构建设置。在我将$ PROJECT_DIR输入项目构建设置标题搜索路径而不是目标构建设置(或两者)之前,它对我不起作用