1

これがどのように理にかなっているのかわかりません。作成した MCNearbyServiceAdvertiser オブジェクト内の discoveryinfo ディクショナリに 2 つのオブジェクトを配置しましたが、ブラウザには広告主が表示されませんが、2 番目のオブジェクトをディクショナリから移動して行末でコメントアウトすると、ブラウザには表示されます広告主。discoveryinfo ディクショナリは、動作するオブジェクトを 1 つだけ受け入れますか? 最初のオブジェクトは文字列、2 番目のオブジェクトは配列です。これは次のようになります。

advertiser = [[MCNearbyServiceAdvertiser alloc] initWithPeer:myPeerID discoveryInfo:@{@"Name": [[NSString alloc] initWithString:myUniqueID], @"Peers": [[NSArray alloc] initWithArray:connectedPeersAry]} serviceType:@"Blahblah"];

そして、その行の前に、この単純な形式を試しました (ただし、構文に問題がある場合に備えて、上記に進みました)。

advertiser = [[MCNearbyServiceAdvertiser alloc] initWithPeer:myPeerID discoveryInfo:@{@"Name": myUniqueID, @"Peers": connectedPeersAry} serviceType:@"FRCSCOUT"];

ディクショナリまたは配列を discoveryinfo ディクショナリ内に配置できると思いますが、どのような場合でもディクショナリを 1 つのオブジェクトに限定してはならないため、これは非常にばかげた方法だと思います。

先に進み、オブジェクトを別のレイヤーに配置して、discoveryinfo ディクショナリ内の「スペースを節約」しますが、より良い方法を見つけた場合、または同じ問題が発生している場合は、お知らせください。

4

2 に答える 2