我很努力讓iOS應用程序連接到運行OpenTok的節點服務器。事情工作正常,當我硬編碼值,但我想動態會話和令牌,因此我的問題。在iOS上從服務器獲取json令牌 - OpenTok
我能夠成功創建在服務器端的令牌,它看起來像:
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://path/to/json"]];
NSData *theData = [NSURLConnection sendSynchronousRequest:request
returningResponse:nil
error:nil];
NSMutableArray *newJSON = [NSJSONSerialization JSONObjectWithData:theData options:NSJSONReadingMutableContainers error:nil];
NSString* kToken = [newJSON valueForKey:@"sessionId"];
NSString* kSessionId = [newJSON valueForKey:@"token"];
我可以:
[
{
"_id": "*******",
"token": "***********************",
"sessionId": "********",
}
]
我也成功地檢索它的iOS應用打印值與控制檯:
NSLog(@"Value of kToken = %@", kToken);
NSLog(@"Value of kSessionId = %@", kSessionId);
因此,我知道它正在正確閱讀,但無論我仍然出現錯誤:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI length]: unrecognized selector sent to instance 0x14d97950
我比較新的到iOS所以也許我咬掉比我更可以嚼在這裏,但在正確的方向任何意見將是巨大的。在文檔中似乎沒有關於如何通過iOS正確地從服務器獲取令牌的任何內容。
你能告訴我你的輸出json – sanjeet 2014-09-23 05:19:03
NSArray不響應長度,它響應計數,這意味着你試圖獲得數組的長度,這就是爲什麼你得到這個錯誤 – sanjeet 2014-09-23 05:20:52