Ladies and gentlemen, allow me to introduce you to Jitsi Meet SDK for iOS, the mobile SDK which powers Jitsi Meet. The goal is to encapsulate the entire React Native app into a framework / SDK and offer an API for native (ObjC or Swift) applications to embed the Jitsi conferencing experience. While React Native can be embedded in native applications, I don't think it was designed to be embedded as part of a framework, hidden away from the application using it. This surfaced as a number of issues which had to be addressed specifically due to our use-case: - Universal / deep linking needed to be wrapped to avoid the embedding app from linking with RN. - The bundle URL had to be manually constructed, since RN considers that all resources are in the main bundle, but in case of a framework that is not the case. - Custom fonts had to be manually loaded, since UIAppFonts doesn't work on the framework's Info.plist file. - The RN packager has to be manually triggered since the React project will no longer do it for us. - Custom App Transport Security rules were added since the builtin way to do it modifies the framework's Info.plist, which is useless in this case. At this stage, the Jitsi Meet application is just a small single view application which uses the Jitsi Meet SDK to create a single view which represents the entire application. Events and external conference handling are forthcoming.
72 lines
1.1 KiB
Plaintext
72 lines
1.1 KiB
Plaintext
*.swp
|
|
.*.tmp
|
|
deploy-local.sh
|
|
libs/
|
|
all.css
|
|
*css.map
|
|
.remote-sync.json
|
|
.sync-config.cson
|
|
|
|
# The following are automatically generated by the react-native command line
|
|
# utility (either with the init or upgrade option which pull in the latest
|
|
# template files recommended by Facebook for React Native).
|
|
|
|
# OSX
|
|
#
|
|
.DS_Store
|
|
|
|
# Xcode
|
|
#
|
|
build/
|
|
*.pbxuser
|
|
!default.pbxuser
|
|
*.mode1v3
|
|
!default.mode1v3
|
|
*.mode2v3
|
|
!default.mode2v3
|
|
*.perspectivev3
|
|
!default.perspectivev3
|
|
xcuserdata
|
|
*.xccheckout
|
|
*.moved-aside
|
|
DerivedData
|
|
*.hmap
|
|
*.ipa
|
|
*.xcuserstate
|
|
project.xcworkspace
|
|
|
|
# Android/IntelliJ
|
|
#
|
|
build/
|
|
.idea
|
|
.gradle
|
|
local.properties
|
|
*.iml
|
|
|
|
# node.js
|
|
#
|
|
node_modules/
|
|
npm-debug.log
|
|
yarn-error.log
|
|
|
|
# BUCK
|
|
#
|
|
buck-out/
|
|
\.buckd/
|
|
*.keystore
|
|
|
|
# fastlane
|
|
#
|
|
# It is recommended to not store the screenshots in the git repo. Instead, use
|
|
# fastlane to re-generate the screenshots whenever they are needed. For more
|
|
# information about the recommended setup visit:
|
|
# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
|
|
#
|
|
fastlane/report.xml
|
|
fastlane/Preview.html
|
|
fastlane/screenshots
|
|
|
|
# CocoaPods
|
|
Pods/
|
|
Podfile.lock
|