アプリケーションを開発していて、別のアプリケーションにオブジェクトを送信する必要があります。これら 2 つのアプリは、マルチピア接続フレームワークを使用して相互に通信します。
特に、Order というオブジェクトを送信したいと考えています。
@interface Order : NSObject <NSCoding>
@property (strong, nonatomic) NSString *customerName;
@property (strong, nonatomic) NSDate *arrivalTime;
@property (strong, nonatomic) NSNumber *totalPrice;
@property (strong, nonatomic) NSArray *products;
@end
OrderAndPay という「クライアント」アプリケーションから POS という「サーバー」アプリへ。OrderAndPay アプリのデリゲートでこのオブジェクトを送信する方法は次のとおりです
NSData *dataToBeSent = [NSKeyedArchiver archivedDataWithRootObject:self.order];
NSError *error = nil;
NSArray *array = [[NSArray alloc] initWithObjects:[self.mpHandler.session connectedPeers], nil];
if ([self.mpHandler.session sendData:dataToBeSent
toPeers: array
withMode:MCSessionSendDataUnreliable
error:&error]) {
return YES;
}
return NO;
しかし、私は結果として常にNOを得ました!!! デバッグしようとすると、xCodeは言う
エラーの説明の印刷: Error Domain=MCSession Code=1 "Peers ( ( POS ) ) not connected" UserInfo=0x16e8bcb0 {NSLocalizedDescription=Peers ( ( POS ) ) not connected}
ということで、POSがつながらないようです。しかし、前に書いたように、私connectedPeers
は my MCSession
!!!のメソッドを使用して仲間を取得します。
どうすれば解決できますか?