We are building an hybrid mobile application which use VisioWebVisioWeb 1.8.6. The event onObjectMouseUp work beautifully on Android webview but not iOS webview. It seems that the event was not regconized in iOS webview. Can you fix that in the next release?
I ‘ve just tried using SDK VisioWeb 1.8.6 in a webview in iOS and it works well. I tried on iOS 11.2 . Can you send us the xcode project source code you are using ?
Actually, we’re using a hybrid platform called OutSystems (not a native iOS app using Swift or Objective C). The preview version of the app is also not working. Please have a look at this link. I think if we can make it work in the preview version, we can make it work on the iOS also.
Select “Option 2” for VisioGlobe map: https://rainmakerlabs-dev.outsystemscloud.com/PreviewInDevices/?IsMobilePreview=True&DeviceName=Smartphone&URL=/MBSPOC/HomeScreen?_ts=636552363198447781
We spent some time analysing how events were propagated in your code and we found out the reason why click events are not transmitted to our SDK. Since VisioWeb is used by our clients for both web and mobile apps, it is currently configured to listen to both mouse and touch events. There is some additional intelligence that makes sure that a given ‘tap’ event corresponds to the same user interaction than a concurrent ‘mousedown’ event.
Now, on your side, you are using a library called PhantomLimb.js which stops the propagation of ‘mousedown’ events and fires instead ‘touchstart’ events.
If we comment out the call to stopPropagation in phantomTouchStart(e) then tap event are properly handled in VisioWeb. An alternative would be to synthesize a mousedown event for VisioWeb’s container when a touchstart is fired, but it seems weird to synthesize a new event from an already synthetic one.
Hope this helps
Because PhantomLimb.js is OutSystems‘ library so we couldn’t modify it. I think OutSystems just simulate the iOS environment by using the PhantomLimb. With the real iOS app, I don’t think they use it. I will attach the link to the in-house IPA file here, have a look at it if you have time.
Beside, we are trying to call onObjectMouseUp when a touchstart is fired, but right now we cannot get the element, which is a room, to pass to the onObjectMouseUp. Can you add the touchstart event listener like onObjectMouseUp on each place/object or a way to get the element on touchstart event callback?
Your answer would be greatly appreciated. Thank you.
iOS in-house app: https://rainmakerlabs-dev.outsystemscloud.com/NativeAppBuilder/App?AppKey=5d3d6628-ccc0-4079-9072-6f1ec5935893&Name=MBS+POC