Bean-iOS-OSX-SDK icon indicating copy to clipboard operation
Bean-iOS-OSX-SDK copied to clipboard

Very Long Connection Times on iPad Pro

Open duffek opened this issue 7 years ago • 0 comments

When trying to connect to a bean on the iPad pro I'm seeing VERY long connect times. As in 3-4 minutes. On iPhone it is an instant connection. This did not used to happen until I updated the SDK. I have the pod file using the latest version of the SDK (3.0.6 I believe).

UPDATE: This is not an issue on 3.0.1 and starts happening right after any update. If you are having connectivity issues on iPad connectivity then I suggest installing pod 'Bean-iOS-OSX-SDK', '3.0.1'

You can see my example code here:

    //
    //  ViewController.m
    //  Test
    //
    //  Created by David Nelson on 9/1/17.
    //  Copyright © 2017 Duffek Mobile. All rights reserved.
    //

    #import "ViewController.h"

    @interface ViewController ()

    @property (nonatomic, retain) PTDBeanManager *beanManager;
    @property (nonatomic, retain) PTDBean *testBean;
    @property (weak, nonatomic) IBOutlet UILabel *beanLabel;



    @end

    @implementation ViewController
    @synthesize beanManager, testBean, beanLabel;

    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        
        beanManager = [[PTDBeanManager alloc] initWithDelegate:self];
    }


    #pragma mark - BeanManagerDelegate Callbacks

    - (void) beanManager:(PTDBeanManager *)beanManager didDiscoverBean:(PTDBean *)bean error:(NSError *)error
    {
        NSLog(@"Discovered a bean: %@ id: %@", bean.name, bean.identifier.UUIDString);
        testBean = bean;
        [beanLabel setText:[NSString stringWithFormat:@"Bean Name: %@", testBean.name]];
        
        
        if (error)
        {
            NSLog(@"Error discovering bean: %@", [error description]);
            return;
        }
    }

    - (void)beanManagerDidUpdateState:(PTDBeanManager *)manager
    {
        if(manager.state == BeanManagerState_PoweredOn)
        {
            // if we're on, scan for advertisting beans
            NSError* scanError;
            [manager startScanningForBeans_error:&scanError];
            if (scanError)
            {
                NSLog(@"%@", [scanError localizedDescription]);
            }
        }
        else if (manager.state == BeanManagerState_PoweredOff)
        {
            return;
        }
    }

    -(void) beanManager:(PTDBeanManager *) beanManager didConnectBean:(PTDBean *)bean error:(NSError *)error
    {
        NSLog(@"Did connect called!");
        if (error)
        {
            NSLog(@"Did connect error: %@", error.localizedDescription);
            return;
        }
        
    }

    -(void) beanManager:(PTDBeanManager *)beanManager didDisconnectBean:(PTDBean *)bean error:(NSError *)error
    {
        NSLog(@"Disconnected...");
    }

    - (IBAction)testPressed:(id)sender {
        NSLog(@"Trying to connect to: %@", testBean.name);
        
        NSError *error;
        [beanManager connectToBean:testBean error:&error];
        if (error != nil) {
            NSLog(@"error: %@", error.localizedDescription);
        }
        
    }

    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    @end

Verified on iPhone that it connects. iPad it hangs for about 5-6 minutes before it will connect.

duffek avatar Sep 02 '17 15:09 duffek