使用谷歌演员iOS SDK,GCKMediaControlChannel的sendTextMessage方法很简单,很难误用,所以我猜这可能是SDK中的一个错误...希望有人会证明我错了所以我可以回去工作!
以下是代码:
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方法,未能实现特定于媒体通道的某些消息传递方面(特别是未能使用{{将消息包装在媒体样式的信封中) 1}}和requestId
属性)
还有其他人遇到过这个吗?我错过了什么吗?有解决方法吗?
答案 0 :(得分:1)
我遵循ticket I created上的建议,使用GCKCastChannel
使用自定义命名空间向接收方媒体应用发送消息,而非专用GCKMediaControlChannel
来解决此问题。故障单响应确认“不要直接使用带有GCKMediaControlChannel的sendTextMessage”