谷歌強制轉換iOS SDK時,GCKMediaControlChannel的sendTextMessage方法很直接,很難誤用,所以我猜測這可能是SDK中的一個錯誤......希望有人會證明我是錯誤的我可以回去工作了!使用GCKMediaControlChannel的sendTextMessage方法產生錯誤
下面的代碼:
NSDictionary *messageDict = @{
@"message": @"blah",
@"num":[NSNumber numberWithInt:2]
};
NSError *error;
NSData *msgData = [NSJSONSerialization dataWithJSONObject:messageDict
options:0
error:&error];
NSString *message = @"" ;
if (!msgData) {
DDLogError(@"ERROR serializing message: %@", error);
return NO ;
} else {
message = [[NSString alloc] initWithData:msgData encoding:NSUTF8StringEncoding];
[self sendTextMessage:message] ;
}
...接收機產生當接收到消息[cast.receiver.mediaManager] Ignoring request, requestId is not an integer: undefined
在好像GCKMediaControlChannel第一視圖此誤差從GCKCastChannel直接繼承其sendTextMessage方法,未能以實現特定於媒體頻道的一些消息傳送方面(特別是未能將該消息包裝在具有requestId
和mediaSessionID
屬性的媒體樣式信封中)
有沒有人遇到過這個?我錯過了什麼嗎?有沒有解決方法?
我不知道如何解釋票中的響應爲「GCKMediaControlChannel有問題」,您錯誤地使用媒體控制通道,所以錯誤是實際上在你的代碼中不是SDK。 –
@AliNaddaf我的代碼是按照[記錄](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_cast_channel#a536d42cdfb9d56d9ed10c3f75c493985)關注API。如果SDK沒有像文檔中那樣工作,那麼SDK有bug或文檔是。 沒有試圖啓動一個正確與錯誤的辯論,我很開心,如果我幫助下一個開發人員繼續堅持遵循API文檔 – Hugo
媒體控制通道是一個子類,並定義了一個特定的名稱空間。每個名稱空間爲它可以處理的消息定義一個規範;媒體控制通道有它自己的規範和消息,它處理。如果你編寫一個TicTacToe Channel子類,你可以爲它可以處理的消息定義一個新的命名空間和一個規範;你不能指望不同渠道對短信的解釋相同。文檔說,它發送了一條文本消息,但是它保留了該文本消息的內容或者將如何處理/解釋,因爲這取決於子類。 –