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:
Alles anzeigen
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
- @interface CalculatorViewController ()
- @property (nonatomic, strong) MCBrowserViewController *browserVC;
- @property (nonatomic, strong) MCAdvertiserAssistant *advertiser;
- @property (nonatomic, strong) MCSession *mySession;
- @property (nonatomic, strong) MCPeerID *myPeerID;
- @end
- implementation CalculatorViewController;
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- ....
- [self setUpConnection];
- }
- - (void)setUpConnection{
- // Setup peer ID
- self.myPeerID = [[MCPeerID alloc] initWithDisplayName:[UIDevice currentDevice].name];
- // Setup session
- self.mySession = [[MCSession alloc] initWithPeer:self.myPeerID];
- self.mySession.delegate = self;
- // Setup BrowserViewController
- self.browserVC = [[MCBrowserViewController alloc] initWithServiceType:@"iCrip" session:self.mySession];
- self.browserVC.delegate = self;
- // Setup Advertiser
- self.advertiser = [[MCAdvertiserAssistant alloc] initWithServiceType:@"iCrip" discoveryInfo:nil session:self.mySession];
- [self.advertiser start];
- }
- -(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
- if (buttonIndex == 2) {
- [self presentViewController:self.browserVC animated:YES completion:nil];
- }
- }
- - (void) dismissBrowserVC{
- [self.browserVC dismissViewControllerAnimated:YES completion:nil];
- }
- // Notifies the delegate, when the user taps the done button
- - (void)browserViewControllerDidFinish:(MCBrowserViewController *)browserViewController{
- [self dismissBrowserVC];
- NSData *data = [self.model getCalculationsDataInNSDataFormat];
- NSError *error;
- [self.mySession sendData:data toPeers:[self.mySession connectedPeers] withMode:MCSessionSendDataUnreliable error:&error];
- }
- // Notifies delegate that the user taps the cancel button.
- - (void)browserViewControllerWasCancelled:(MCBrowserViewController *)browserViewController{
- [self dismissBrowserVC];
- }
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von AppleDeveloper ()