2014-02-22 22 views
2

谷歌強制轉換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方法,未能以實現特定於媒體頻道的一些消息傳送方面(特別是未能將該消息包裝在具有requestIdmediaSessionID屬性的媒體樣式信封中)

有沒有人遇到過這個?我錯過了什麼嗎?有沒有解決方法?

回答

1

我也跟着上了ticket I created建議,使用使用GCKCastChannel代替他致力於GCKMediaControlChannel來解決這一問題的自定義命名短信到接收器的媒體應用。票證響應確認「不要使用sendTextMessage直接與GCKMediaControlChannel」

+0

我不知道如何解釋票中的響應爲「GCKMediaControlChannel有問題」,您錯誤地使用媒體控制通道,所以錯誤是實際上在你的代碼中不是SDK。 –

+0

@AliNaddaf我的代碼是按照[記錄](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_cast_channel#a536d42cdfb9d56d9ed10c3f75c493985)關注API。如果SDK沒有像文檔中那樣工作,那麼SDK有bug或文檔是。 沒有試圖啓動一個正確與錯誤的辯論,我很開心,如果我幫助下一個開發人員繼續堅持遵循API文檔 – Hugo

+0

媒體控制通道是一個子類,並定義了一個特定的名稱空間。每個名稱空間爲它可以處理的消息定義一個規範;媒體控制通道有它自己的規範和消息,它處理。如果你編寫一個TicTacToe Channel子類,你可以爲它可以處理的消息定義一個新的命名空間和一個規範;你不能指望不同渠道對短信的解釋相同。文檔說,它發送了一條文本消息,但是它保留了該文本消息的內容或者將如何處理/解釋,因爲這取決於子類。 –