我正在開發一個應用程序,我需要將對象發送給另一個應用程序。這兩個應用程序使用多路連接器框架相互通信。Objective C - 使用Multipeer連接框架發送對象,沒有連接對象
特別,我想送名爲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說
Printing description of error: Error Domain=MCSession Code=1 "Peers ( ( POS )) not connected" UserInfo=0x16e8bcb0 {NSLocalizedDescription=Peers ( ( POS )) not connected}
所以看起來POS沒有連接。但是正如我之前寫的,我使用我的MCSession
的方法connectedPeers
讓同伴們獲益!
我該如何解決?