Ein paar Fragen zu MultipeerConnectivity Framework

  • Ein paar Fragen zu MultipeerConnectivity Framework

    Hi,
    ich sende meine Daten mittels MultipeerConnectivity Framework von Gerät A zu Gerät B. Funktioniert alles wie eine eins nur ein Haken gibt es: Es braucht richtig lange. Und jetzt stellen sich für mich drei Fragen: 1. Warum? Ich sende per WLAN/Bluetooth nur ein einfaches Array 2. Wie kann ich das schneller machen? 3. Kann ich währenddessen ein ActivityIndicator anzeigen?

    Hier mein Code:

    Quellcode

    1. @interface CalculatorViewController ()
    2. @property (nonatomic, strong) MCBrowserViewController *browserVC;
    3. @property (nonatomic, strong) MCAdvertiserAssistant *advertiser;
    4. @property (nonatomic, strong) MCSession *mySession;
    5. @property (nonatomic, strong) MCPeerID *myPeerID;
    6. @end
    7. implementation CalculatorViewController;
    8. - (void)viewDidLoad
    9. {
    10. [super viewDidLoad];
    11. ....
    12. [self setUpConnection];
    13. }
    14. - (void)setUpConnection{
    15. // Setup peer ID
    16. self.myPeerID = [[MCPeerID alloc] initWithDisplayName:[UIDevice currentDevice].name];
    17. // Setup session
    18. self.mySession = [[MCSession alloc] initWithPeer:self.myPeerID];
    19. self.mySession.delegate = self;
    20. // Setup BrowserViewController
    21. self.browserVC = [[MCBrowserViewController alloc] initWithServiceType:@"iCrip" session:self.mySession];
    22. self.browserVC.delegate = self;
    23. // Setup Advertiser
    24. self.advertiser = [[MCAdvertiserAssistant alloc] initWithServiceType:@"iCrip" discoveryInfo:nil session:self.mySession];
    25. [self.advertiser start];
    26. }
    27. -(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
    28. if (buttonIndex == 2) {
    29. [self presentViewController:self.browserVC animated:YES completion:nil];
    30. }
    31. }
    32. - (void) dismissBrowserVC{
    33. [self.browserVC dismissViewControllerAnimated:YES completion:nil];
    34. }
    35. // Notifies the delegate, when the user taps the done button
    36. - (void)browserViewControllerDidFinish:(MCBrowserViewController *)browserViewController{
    37. [self dismissBrowserVC];
    38. NSData *data = [self.model getCalculationsDataInNSDataFormat];
    39. NSError *error;
    40. [self.mySession sendData:data toPeers:[self.mySession connectedPeers] withMode:MCSessionSendDataUnreliable error:&error];
    41. }
    42. // Notifies delegate that the user taps the cancel button.
    43. - (void)browserViewControllerWasCancelled:(MCBrowserViewController *)browserViewController{
    44. [self dismissBrowserVC];
    45. }
    Alles anzeigen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von AppleDeveloper ()