sphero-inc / Sphero-AR-SDK

🚫 DEPRECATED: Sphero's augmented reality SDK
46 stars 26 forks source link

Runtime framework error on Unity 4.5.4 and Xcode 6.1 #3

Open vsdyachkov opened 9 years ago

vsdyachkov commented 9 years ago

When I run sample project in Xcode (on device), I have error:

2014-11-28 13:33:31.088 ar2[939:89936] Created session: <EASession: 0x75690d0> {
  accessory:<EAAccessory: 0x2fa7270>
  protocolString:com.orbotix.robotprotocol
  inputStream:<EAInputStream: 0x7569120>
  outputStream: <EAOutputStream: 0x7569390>
}
2014-11-28 13:33:31.132 ar2[939:89938] Already in Bootloader
2014-11-28 13:34:01.942 ar2[939:89827] Succes == 1
UnloadTime: 1.555875 ms
Unloading 3 Unused Serialized files (Serialized files now loaded: 0 / Dirty serialized files: 0)

Unloading 16 unused Assets to reduce memory usage. Loaded Objects now: 133.
Total: 42.518414 ms (FindLiveObjects: 0.027166 ms CreateObjectMapping: 0.033416 ms     MarkObjects: 0.295125 ms  DeleteObjects: 41.744541 ms)

2014-11-28 13:34:03.233 ar2[939:89827] -[RKDeviceMessenger    addDataStreamingObserver:selector:mask:]: unrecognized selector sent to instance 0x2fa8c60

Search by created in Unity project I found out that is called non-existent selector addDataStreamingObserver:selector:mask:in the class RKUNBridge.m:

- (void)setDataStreamingWithSensorMask:(uint64_t)mask
{
    if (!robotOnline) return;

>>> [[RKDeviceMessenger sharedMessenger] addDataStreamingObserver:self
                                                         selector:@selector(handleDataStreaming:)
                                                             mask:mask];
}

-(void)enableControllerStreamingWithSampleRateDivisor:(uint16_t)divisor
                                         packetFrames:(uint16_t)frames
                                           sensorMask:(uint64_t)mask
 {
     if(controllerStreamingOn && !robotOnline) return;

    [RKStabilizationCommand sendCommandWithState:RKStabilizationStateOff];
    [RKBackLEDOutputCommand sendCommandWithBrightness:1.0];
    [[RKDeviceMessenger sharedMessenger] setMessageRateDivisor:divisor];
>>> [[RKDeviceMessenger sharedMessenger] addDataStreamingObserver:self
                                                          selector:@selector(handleDataStreaming:)
                                                              mask:mask];
    controllerStreamingOn = YES;

}

In RKDeviceMessenger.h there selector - (Void) addDataStreamingObserver: (id) observer selector: (SEL) handler;

After removing the component mask:mask all selector error (as described at the beginning) still remains

[[RKDeviceMessenger sharedMessenger] setMessageRateDivisor:divisor]; also not described in RKDeviceMessenger.h file

I use RobotKit.framework from https://github.com/orbotix/Sphero-iOS-SDK RobotBridge.framework & RobotVision.framework from Unity project

vsdyachkov commented 9 years ago

After some experimentation, I found that created unity xcode project crash only on iOS 8. The project is created and works on iOS versions 6 and 7. Will fremvok updated to work with iOS 8?