I am using opentok in my Hybrid ionic app for live streaming.
I am facing issue that I am unable to see live streaming in ios app, although its working on my android app which is already published on Google Play,
Now I need to publish my ios app but I am stuck with these errors showing in Xcode
"ERROR: OT.Publisher.onStreamAvailableError OT_MEDIA_ERR_ABORTED: Argument 1 ('mediaStream') to webkitAudioContext.createMediaStreamSource must be an instance of MediaStream"
"ERROR: OT.exception :: title: Unable to Publish (1500) msg: GetUserMedia"
Device I am using is iPhone 6 (OS 11.0, Safari 11.0)
I had same problem.
For me, problem was in publisher options for OT.initPublisher.
Option "resolution" was redundant. It crashed everythin for ios only, I commented it -ant everything is ok now. Good luck!
You can use the Cordova OpenTok Plugin to add live video to your Ionic applications:
https://github.com/opentok/cordova-plugin-opentok/
The plugin allows you to publish, subscribe, and use the OpenTok Signaling API on both iOS and Android. For Ionic samples, take a look at the following repo: https://github.com/opentok/opentok-ionic-samples
Related
I work on Xcode 12.1 with SwiftUI
When I send my App (archive) the following error occurs:
ERROR ITMS-90476: "Invalid Bundle. Your app supports Multitasking on iPad, so you must include the launch storyboard file, '...', in your bundle, '...'. Learn more ( https://developer.apple.com/documentation/uikit/uitraitcollection )."
How can I fix this? I want iPhone and iPad support.
Apple has a “Adapt multitasking enhancements on iPad” guide
https://developer.apple.com/library/archive/documentation/WindowsViews/Conceptual/AdoptingMultitaskingOniPad/QuickStartForSlideOverAndSplitView.html
Also, I’m pretty sure there are some WWDC videos and some sample code.
https://developer.apple.com/documentation/uikit/uiscenedelegate/supporting_multiple_windows_on_ipad
In my iOS application, I have to play 360 videos with ambisonic effect, so I have integrated the VLC library for these requirements. But later I have one more requirement support VR mode for playback, so I want to integrate GoogleVR SDK via pod. But after this integration, my application stops working with the following error
"[libprotobuf FATAL google/protobuf/stubs/common.cc:67] This program requires version 3.5.0 of the Protocol Buffer runtime library, but the installed version is 3.1.0. Please update your library. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "blaze-out/ios_x86_64-opt/genfiles/vr/courtside/proto/projection_proto.pb.cc".)
libc++abi.dylib: terminating with uncaught exception of type google::protobuf::FatalException"
If anyone knows the fix for this issue, please share that with me. If VLC can play VR Mode, then that would be fine.
I am working on an cordova Barcode Scanner app for mobile Devices. I am using the Framework QuaggaJS for Barcodescanning and the cordova-plugin-ioswebrtc to implement the webrtc functions to cordova. Its working fine on Android Devices and on local Web Browsers on PC, but if i want to use it on iOS I always getting the error "Failed to load ressource: file is directory".
I am initializing Quagga with the following settings:
{decoder:{readers:["code_93_reader"]},
numberOfWorkers: 4,
inputStream:
{
name: "Live",
type: "Livestream",
target: document.querySelector('#scanner'),
constraints:
{
width:{min:640},
height:{min:480},
facingMode: "environment"
}
}
}
The error Message does not describe where the error comes from so I am not sure if its a problem of quaggaJS or of the iOS WebRTC plugin of cordova. Does anyone has build a cordova app with QuaggaJS and can help me where these problem comes from?
If I am Running the getUserMedia Function in the console, i get to different Objects back. In normal iOS Browser the result is of type MediaStream and in the cordova app the result is of type Blob. In safari my app is working without problems, and the Blob Object has all attributes of MediaStream and more so that should not be a problem or?
We are developing app for iOS and Android and we are using Ti.Gelocation to getCurrentPosition and then set the Region of the MapView of ti.map module.
The app is already on marketplace and downloaded, so we are developing an important upgrade with this new feature. We dont't have problem with Android platform, but with iOS version of the app we get a several error invoking Ti.Geolocation module
The error on iOS 9.x on iPad and iPhone (we have no test on iPod) is:
-[__NSCFString containsObject:] unrecognized selector sent to instance 0x1463d500 at GeoView.js (line xxxx)
This error happens with the project with it.vocami.vocamiapp app-id, in the test project (ap-id=it.vocami.vocamitest) that we use for research and test of new features, no error happens and all run good. When we add at every level of our code (in the first row too), for example, Ti.Geolocation.locationServiceEnabled, in the main vocamiapp project, we get the error.
We have tried all we could think but at the end, if we change the app-id, the code runs otherwise we get the error. We cannot change the app-id because we need to update our published app.
We are developing with AppceleratorStudio version 4.5.0.021602170281 and Ti SDK ver 5.2.0GA on Mac OS X 10.10.5.
I just recently was "hit" by the fact that when I made my app ready for Google Play I use a specific key/user to sign it with. That behaves differently from just running it locally on the phone.
I had to make sure that I had registered two certificates with Google's API in the developer console. It didn't give me exactly the message that you show - but wouldn't show the map with a location. And the way I read the location prior to showing it on the map led me in the wrong direction looking at permissions on Android first :-)
/John
we have migrated a worklight 6.1 application t IBM mobilefirst 7.0 platform and all the functionalities working as expected on the android environment, but in ios we are facing an issue: there is a function called "quick receipt". on click on a button the device camera opens and a photo is taken. The problem is that the photo is not displaying - it returns complete blank page this issue on ios device only but not on Android device.
Camera.DestinationType.FILE_URI is not working on IOS.
for security reason we wont share the code. here is similar prototype code.
html
<div><img alt="QuickReceipts" src="resources/img/camera.png" onclick="imgCapture();"</div>
JavaScript
imgCapture: function (){
navigator.camera.getPicture(this.onSuccess, this.onFail,{quality:80,destinationType:Camera.DestinationType.FILE_URI, targetWidth:600,targetHeight:1050}
},
onSuccess:function(imgData)
{
// applying the css and displaying the img
$("#imgReceipt").attr("src","data:image/jpeg;base64," +imgData);
$("#imgReceipt").css("display", "block");
}
onFail:function(imgData){
// failure msg
}
One suggestion is to attempt to code change as mentioned by Nazmul: http://www.telerik.com/forums/ios-cordova-3-5-0-camera-getpicture-targetwidth-issue.
Another suggestion is to upgrade to the latest 7.1 iFix from IBM Fix Central which contains several Cordova corrections and may address your issue.
If your issue is not resolved still, I suggest to open an IBM PMR (support ticket).