GithubHelp home page GithubHelp logo

eface2face / iosrtcapp Goto Github PK

View Code? Open in Web Editor NEW
77.0 77.0 28.0 2.58 MB

Google's AppRTC adapted to Cordova iOS with HTML5 and cordova-plugin-iosrtc

License: BSD 3-Clause "New" or "Revised" License

HTML 7.39% CSS 5.98% JavaScript 86.63%

iosrtcapp's People

Contributors

ibc avatar jesusprubio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iosrtcapp's Issues

iOSRTCApp Possible issue

Author, can you test this case, please?

First with a simple browser in the computer side (Chrome, Firefox) go to https://apprtc.appspot.com/ .
After that, enter in a single room.

Then run iOSRTCApp in a mobile phone and try to enter in the room, nothing happens, you can not see the video and the audio in both sides.
I was researching all afternoon, checking logs in Android Studio, Xcode, but i can't find the problem.

If you try to make (Smartphone)iOSRTCApp ----apprtc---------iOSRTCApp (Smarphone) will replay the same error.

I hope that this information will be useful for you.

Other questions:

It possible to draw a simple button to make a hang up button?
When the user leave the room, the iOSRTCApp can handle this event?

Thanks !!

Mic is not working on Android

Hello,

The app works fine on Android, but I think the mic is not working because on the other end they can't hear me.

Thank you,

Juan.

Build Issue, can't build successfully.

Hi, I have installed cordova 5.1.1 and tried to build the demo as it is showed. I did:
$ cordova platform add ios
$ cordova plugin add com.eface2face.iosrtc
$ cordova build

It gets completed and I run the xCode project in platforms/ios/... First, as it is originally set to Deployment Target: 6.0, it gives me an error (1 error):

Check dependencies
Swift is unavailable on iOS earlier than 7.0; please set IPHONEOS_DEPLOYMENT_TARGET to 7.0 or later (currently it is '6.0').

Then, I changed Deployment Target to iOS 7.0, hovever, this time, I ended up with 217 errors, mainly on:

'Use of unresolved identifier ...'
'Use of undeclared type ...' (for almost everything)
'... does not have a member named ...'

Am I doing something wrong? I tried it multiple times but no luck at all.

Thanks in advance

Signalling

Great work! I have a question though..

Signalling is not really an issue with the code but I am trying to figure out what is the best way to implement the signalling between peers to carry the SDP for iOS (and Android). WebSocket would not always work when the application is at background or not running. Push Notifications come into play in that case but is there any API out there that you use or know that handles the scenarios (fallback to Push if necessary) for a WhatsApp/Viber like application?

Build process broken

Hello,

I cannot build iOSRTCApp on ios. I use Xcode 7.2.

I follow your instructions. When I call "cordova platform add ios" I get the error:

"iosrtc-swift-support.js [ERROR] an error occurred during the parsing of the project file"

If I do after that "cordova platform remove ios" and add it anew I get a different error message:

"Failed to install cordova-plugin-whitelist. Error: Variable(s) missing ..."

If I ignore that an try to build the xcode project nevertheless by loading it with xcode I get lots of "unresolved identifier" compiler errors - probably because of problems whith the bridging header.

Not sure whether that could be the cause:

When I do the "npm install" I get warnings:

"engine ... wanted node 0.8x ..." current: 4.2.2
"depracated lodash-node: package no longer maintained"

I cloned your project and implemented some own functionality but my own project does of course show the same problems as your original when trying to build it now. The last successful build I did was at the the beginning of December. There I did not have problems.

Thank you for your advice.

Xcode Swift Compiler Error

When I try to run this project it show me the Error that the Swift Compiler Error after I convert the it to Swift 3

iOS 9 compilation error

The issue has been described here
http://stackoverflow.com/questions/32472577/cordova-iosrtc-complie-error

I getting quite similar error
The following build commands failed:
CompileSwift normal i386 /Users/adamactivate/iOSRTCApp/platforms/ios/iOSRTCApp/Plugins/cordova-plugin-iosrtc/iosrtcPlugin.swift
CompileSwift normal i386 /Users/adamactivate/iOSRTCApp/platforms/ios/iOSRTCApp/Plugins/cordova-plugin-iosrtc/PluginRTCTypes.swift
CompileSwift normal i386 /Users/adamactivate/iOSRTCApp/platforms/ios/iOSRTCApp/Plugins/cordova-plugin-iosrtc/PluginRTCPeerConnection.swift
CompileSwift normal i386 /Users/adamactivate/iOSRTCApp/platforms/ios/iOSRTCApp/Plugins/cordova-plugin-iosrtc/PluginRTCDataChannel.swift
CompileSwift normal i386 /Users/adamactivate/iOSRTCApp/platforms/ios/iOSRTCApp/Plugins/cordova-plugin-iosrtc/PluginMediaStreamTrack.swift
CompileSwift normal i386 /Users/adamactivate/iOSRTCApp/platforms/ios/iOSRTCApp/Plugins/cordova-plugin-iosrtc/PluginMediaStreamRenderer.swift
CompileSwiftSources normal i386 com.apple.xcode.tools.swift.compiler
(7 failures)
Error code 65 for command: xcodebuild with args: -xcconfig,/Users/adamactivate/iOSRTCApp/platforms/ios/cordova/build-debug.xcconfig,-project,iOSRTCApp.xcodeproj,ARCHS=i386,-target,iOSRTCApp,-configuration,Debug,-sdk,iphonesimulator,build,VALID_ARCHS=i386,CONFIGURATION_BUILD_DIR=/Users/adamactivate/iOSRTCApp/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Users/adamactivate/iOSRTCApp/platforms/ios/build/sharedpch
ERROR building one of the platforms: Error: /Users/adamactivate/iOSRTCApp/platforms/ios/cordova/build: Command failed with exit code 2
You may not have the required environment or OS to build this project
Error: /Users/adamactivate/iOSRTCApp/platforms/ios/cordova/build: Command failed with exit code 2
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:139:23)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:753:16)
at Process.ChildProcess._handle.onexit (child_process.js:820:5)

Unable to compile on Xcode 7.2

Hello,

I have a hard time to compile the plugin, here is the exception I having with target platform 7.0

/cordova-plugin-iosrtc/iosrtcPlugin.swift:5:2: **Only classes that inherit from NSObject can be declared @objc

Thanks

run then crashed in iPhone5s with iOS 9.2

while crashed, xcode debug output:
dyld: Library not loaded: @rpath/GCDWebServer.framework/GCDWebServer
Referenced from: /var/mobile/Containers/Bundle/Application/B01E17BD-180B-4260-9654-04DDAB17D93C/iOSRTCApp.app/iOSRTCApp
Reason: image not found

Black screen

Getting a black screen with a circle in the middle when i run in ios simulator. No errors though. Missing anything?

window.history.pushState

@ibc @murillo128 @jesusprubio

There was a problem on the line
AppController.prototype.pushCallNavigation_ = function (roomId, roomLink) {

I fixed the problem, but now there's another problem with window.history.pushState

Can you tell me how to solve it?

I want to open in the app the video and not the external link

Black screen on android

Tested it on android but the video do not display.
I had an error in the output console:
"Refused to load media "blob:xxxx" because it violates the following Content Security Policy directive: "media-src *".
That I fixed by setting "media-src * blob:" (instead of " media-src *") in the "Content-Security-Policy" tag of appwindow.html.
Now I don't have any error reported in the chrome remote debugger console but the video still do not appear (the screen remains black when connected to a room, with a message saying that there is no TURN server (but as I test between two instances in the same local network, don't think it is the issue. And I should at least see the video of my own device anyway))
Anyone experienced the same issue before?

New Features

Hey,

Nice job !

Is it possible to flip the camera for the back one and take a screenshot or record a movie ?
That would be great.

Cheers,
Luc

iOS -> iOS not working

Both iOS -> AppRTC and AppRTC -> AppRTC are working fine. But can't seem to get an established connection between 2 iOS devices working.

Connection doesn't seem to get established and continuous 'Waiting for another person to join the room' message appears.

Did someone else get this working?

Issue With the Command "cordova platform add ios android"

cordova platform add ios android
Adding ios project...
iOS project created with [email protected]
Installing "cordova-plugin-camera" for ios
Installing "cordova-plugin-crosswalk-webview" for ios
Installing "cordova-plugin-device" for ios
Installing "cordova-plugin-iosrtc" for ios

    cordova-plugin-iosrtc enables use of the JavaScript WebRTC APIs (as defined by the W3C) in iOS devices.
    Learn more at: https://github.com/eface2face/cordova-plugin-iosrtc

Installing "cordova-plugin-whitelist" for ios
npm http GET https://registry.npmjs.org/cordova-android
npm http 304 https://registry.npmjs.org/cordova-android
Adding android project...
Creating Cordova project for the Android platform:
Path: platforms/android
Package: com.eface2face.iosrtcapp
Name: iOSRTCApp
Activity: MainActivity
Android target: android-22
Copying template files...
Android project created with [email protected]
Installing "cordova-plugin-camera" for android
Installing "cordova-plugin-crosswalk-webview" for android
Installing "cordova-plugin-device" for android
Installing "cordova-plugin-iosrtc" for android

    cordova-plugin-iosrtc enables use of the JavaScript WebRTC APIs (as defined by the W3C) in iOS devices.
    Learn more at: https://github.com/eface2face/cordova-plugin-iosrtc

Installing "cordova-plugin-whitelist" for android
Error: Cannot find module 'xcode'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object. (/Users/Excendia/iOSRTCApp/hooks/iosrtc-swift-support.js:10:10)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)

cannot build ios app

hey there,
just tried to run your example app, but built process failed.

xcode 8.2
cordova 6.4.0

"Cordova/NSData+Base64.h" not found
thanks

Video stream freezes on iPad 3

I've tried this library on my (old) iPad 3 and my (rather new) HTC One, both with a web-browser counterpart using AppRTC, using your sample app. On the HTC, everything worked fine.

But with my iPad, the remote video stream froze after some seconds, on both the iPad (i.e. the browser stream viewed on the iPad) and the browser (i.e. the iPad stream viewed on the browser).

What may cause this?

With the (quite old and unmaintained) OpenTok Cordova plugin, I do not have these freezing issues. But I would like to switch to a provider-independent, up-to-date version, so I am evaluating the eface2face solution as an alternative Cordova implementation (it's the only maintained solution as far as I can tell, so thanks for doing this!).

PS: On both Android and iOS, the video does not adjust to screen orientation changes. Is this a limitation in the framework, or just a limitation of your sample app?

Swift 2.1 Support

Despite using the new BUILD documentation (which we have been doing for a while now), the iosrtc plugin now fails to compile.

The following build commands failed:
CompileSwift normal i386 /Users/admin/github/ustyme/clients/alpha-ustyme/platforms/ios/ustyme/Plugins/cordova-plugin-iosrtc/iosrtcPlugin.swift
CompileSwift normal i386 /Users/admin/github/ustyme/clients/alpha-ustyme/platforms/ios/ustyme/Plugins/cordova-plugin-iosrtc/PluginRTCTypes.swift
CompileSwift normal i386 /Users/admin/github/ustyme/clients/alpha-ustyme/platforms/ios/ustyme/Plugins/cordova-plugin-iosrtc/PluginRTCPeerConnection.swift
CompileSwift normal i386 /Users/admin/github/ustyme/clients/alpha-ustyme/platforms/ios/ustyme/Plugins/cordova-plugin-iosrtc/PluginRTCDataChannel.swift
CompileSwift normal i386 /Users/admin/github/ustyme/clients/alpha-ustyme/platforms/ios/ustyme/Plugins/cordova-plugin-iosrtc/PluginMediaStreamTrack.swift
CompileSwift normal i386 /Users/admin/github/ustyme/clients/alpha-ustyme/platforms/ios/ustyme/Plugins/cordova-plugin-iosrtc/PluginMediaStreamRenderer.swift
CompileSwiftSources normal i386 com.apple.xcode.tools.swift.compiler
(7 failures)
Error code 65 for command: xcodebuild with args: -xcconfig,/Users/admin/github/ustyme/clients/alpha-ustyme/platforms/ios/cordova/build-debug.xcconfig,-project,ustyme.xcodeproj,ARCHS=i386,-target,ustyme,-configuration,Debug,-sdk,iphonesimulator,build,VALID_ARCHS=i386,CONFIGURATION_BUILD_DIR=/Users/admin/github/ustyme/clients/alpha-ustyme/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Users/admin/github/ustyme/clients/alpha-ustyme/platforms/ios/build/sharedpch
ERROR building one of the platforms: Error: /Users/admin/github/ustyme/clients/alpha-ustyme/platforms/ios/cordova/build: Command failed with exit code 2

Looks like Swift upgraded again (2.1). There are several compilation errors using XCode 7.1. I tried to use the automatic syntax converter to change to latest syntax, but I was still left with several errors (for some reason the auto-syntax change likes to try to change variable names). Specifically, there are now errors with:

  • some force unwrapping issues
  • try/catch blocks - must catch all undefined errors with a generic catch
  • AnyObject in dictionaries (type casting as NSDictionary seems to work)
  • Using @objc for objects that do not inherit directly from NSObject

though that is with my very limited Swift experience.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.