为本机 iOS 应用程序创建 Jitsi Meet 框架并集成到 Xcode 项目中

2024-02-02

我已经从 Jitsi meet 网站和 git repo 检查了详细信息,以在本机应用程序中实现它。执行构建命令后,我无法在提到的位置找到框架。我也无法识别符号位置(如建议的那样)。

如何获取需要包含在本机应用程序中的框架,以使 jitsi meet 视频通话工作正常?


从反应本机代码创建 JITSI Meet 框架:

  • 在您的系统上配置 jitsi-meet React Native 应用程序,运行它并使其工作
  • 打开 Xcode 项目,在 iOS 设备上运行它,检查是否一切正常。
  • 建造它cmd+b使用 Xcode(适用于通用设备)
  • 在应用程序>框架部分中单击

How to reach to jitsi.framwork that is needed to be included in your aplication

  • 将“JitsiMeet.framework”文件从此处复制到您的项目文件夹

enter image description here

  • 将“WebRTC.framework”文件从路径“jitsi-meet-master▸node_modules▸react-native-webrtc▸ios”复制到您的项目文件夹

From where should I retrieve WebRTC framework

  • 首先将这两个添加到您的框架中,然后添加到嵌入式二进制文件中

enter image description here

其他所需详细信息:

  • 不支持位码,因此请为您的项目关闭它。
  • SDK 使用 Swift 代码,因此请确保选择“始终在项目中嵌入 Swift 标准库”。
  • 由于 SDK 请求访问摄像头和麦克风,因此请确保在 Info.plist 文件中包含 NSCameraUsageDescription 和 NSMicrophoneUsageDescription 所需的条目。
  • 最后,由于 SDK 根据会议状态显示和隐藏状态栏,因此您可能需要在 Info.plist 文件中将 UIViewControllerBasedStatusBarAppearance 设置为 NO。

模拟器:以这种方式导出的框架将不允许您在模拟器上运行应用程序。为了在模拟器上运行应用程序,请在选择模拟器的情况下构建应用程序并按照上述步骤操作。

Release:

  • 将构建上传到应用商店时,您可能会遇到以下问题:
  • 为了摆脱这些,您需要在 Xcode 上添加一个运行脚本。

Script:

echo "Target architectures: $ARCHS"

APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"

find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
do
FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
echo $(lipo -info "$FRAMEWORK_EXECUTABLE_PATH")

FRAMEWORK_TMP_PATH="$FRAMEWORK_EXECUTABLE_PATH-tmp"

# remove simulator's archs if location is not simulator's directory
case "${TARGET_BUILD_DIR}" in
*"iphonesimulator")
    echo "No need to remove archs"
    ;;
*)
    if $(lipo "$FRAMEWORK_EXECUTABLE_PATH" -verify_arch "i386") ; then
    lipo -output "$FRAMEWORK_TMP_PATH" -remove "i386" "$FRAMEWORK_EXECUTABLE_PATH"
    echo "i386 architecture removed"
    rm "$FRAMEWORK_EXECUTABLE_PATH"
    mv "$FRAMEWORK_TMP_PATH" "$FRAMEWORK_EXECUTABLE_PATH"
    fi
    if $(lipo "$FRAMEWORK_EXECUTABLE_PATH" -verify_arch "x86_64") ; then
    lipo -output "$FRAMEWORK_TMP_PATH" -remove "x86_64" "$FRAMEWORK_EXECUTABLE_PATH"
    echo "x86_64 architecture removed"
    rm "$FRAMEWORK_EXECUTABLE_PATH"
    mv "$FRAMEWORK_TMP_PATH" "$FRAMEWORK_EXECUTABLE_PATH"
    fi
    ;;
esac

echo "Completed for executable $FRAMEWORK_EXECUTABLE_PATH"
echo $(lipo -info "$FRAMEWORK_EXECUTABLE_PATH")

done

如果不是为模拟器运行(这意味着目标文件夹不像“Debug-iphonesimulator”),此脚本只是从 fat 二进制文件(如果存在)中删除 i386 和 x86_64 切片。 行屈膝礼:https://stackoverflow.com/a/41416964/656600 https://stackoverflow.com/a/41416964/656600

参考:

  • https://github.com/jitsi/jitsi-meet/tree/master/ios https://github.com/jitsi/jitsi-meet/tree/master/ios
  • https://github.com/jitsi/jitsi-meet-ios-sdk-releases/blob/master/README.md https://github.com/jitsi/jitsi-meet-ios-sdk-releases/blob/master/README.md
  • https://github.com/jitsi/jitsi-meet/blob/master/doc/mobile.md https://github.com/jitsi/jitsi-meet/blob/master/doc/mobile.md
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为本机 iOS 应用程序创建 Jitsi Meet 框架并集成到 Xcode 项目中 的相关文章

随机推荐

  • 并发 JUnit 测试

    我有一个大型 JUnit 测试套件 我很想同时运行所有测试 原因有两个 利用多个核心更快地运行整个测试套件 希望能够检测到由于非线程安全全局对象而导致的一些错误 我认识到这将迫使我重构一些代码以使其线程安全 但我认为这是一件好事 让 JUn
  • 如何为 CORS 配置 Azure API 管理

    我已经创建了 Azure API 管理服务并连接了我的 API 我添加了CORS对他们的政策 我检查了计算有效政策结果就是这个政策
  • 我是否需要 DispatchQueue.main 在 Alamofire 请求后更新 UI?

    我正在学习有关使用的教程REST web requests 在本教程中 我们正在开发一个 Pokedex 应用程序 我们使用 API 从 API 获取 Pokemon 详细信息Alamofire 然后在我们的 UI 中显示该数据 这是相关代
  • 如何像 Whatsapp 和 Viber 一样在电话簿/联系人中添加我的应用程序连接?

    我想要我的 Android 应用程序联系要添加到contact 我将根据结果检查用户是否正在使用我的应用程序 我需要在existing联系人 我已经参考了很多 但它通过添加连接添加了新的联系人 我使用过的示例之一是here https gi
  • 在 React JSX 中循环内循环

    我正在尝试在react jsx 循环内的循环中渲染 就像下面这样 this state ans map function item return this state quest map function item1 return item
  • 使用两个模拟对象的Python单元测试,如何验证调用顺序?

    我正在编写一个类 它协调两个仪器 一个远程可控电源单元和一个用于控制被测设备的总线控制器 以便在被测设备 DUT 上执行各种测量 对这两种工具的访问均以 Python 类的形式实现 并且新类可以使用对每种工具的引用 DUT 比较脆弱 具有非
  • Turbo C 编译器问题,sqrt() 函数无法使用变量参数

    我搜索了与我的问题类似的问题类似问题 https stackoverflow com questions 3533594 sqrt function not working with variable arguments 但我的问题是使用
  • MySQL 错误? (三角学)

    当我偶然发现这一点时 我正在通过预先计算表中字段的一些三角函数来优化查询 SELECT 6371 acos 0 793521289617132 0 793521289617132 0 608542490648241 0 6085424906
  • 正确的 jQuery 图像加载()?

  • 在哪里可以找到 AWS CodeDeploy 部署日志?

    当我选择部署然后单击时 我可以在 Codedeploy 下的 AWS 控制台中看到日志choose events 但它们似乎被截断了 如果我通过 SSH 进入实例 这些 codedeploy 部署日志位于哪里 我看到登录 var log a
  • 将 Python 列表插入 MySQL 的列中

    我有一个列表 我想使用 Python 将该列表的每个元素输入到 MYSQL 列的关联索引单元格中 E g lst 11 22 33 44 55 66 MYSql 列 Data 11 22 33 44 55 66 我怎样才能做到这一点 以下代
  • 什么给出了 java.lang.NoClassDefFoundError?

    我想读取 Excel 文件 但给出 Exception in thread main java lang NoClassDefFoundError org apache xmlbeans XmlObject at ExcelReader m
  • 将 IR 转换为 Z3 公式?

    我在 IR 中有一些代码 并且该代码已经是 SSA 形式 现在我正在尝试将此代码转换为SMT公式 然后将其提供给Z3进行一些验证 我有一些疑问 有没有技术论文详细解释如何将SSA IR转换为SMT公式 我四处寻找 一无所获 对于那些计算指令
  • 从给定索引开始枚举 NSArray 双向搜索(无环绕)

    例子 我有一个包含 15 个对象的数组 我想从给定的索引开始枚举 说从索引 5 开始 然后是上面的索引 下面的索引 上面 下面等等 我不希望它环绕 而是停止并继续朝未探索的方向前进 所以我的例子中索引的顺序是 5 6 4 7 3 8 2 9
  • 神经网络特征提取

    我正在使用神经网络进行字母和数字的简单识别 到目前为止 我使用字母图像的每个像素作为网络的输入 不用说 这种方法产生的网络非常大 所以我想从图像中提取特征并将它们用作神经网络的输入 我的第一个问题是字母的哪些属性有利于识别它们 第二个问题是
  • 将PC添加到域并同时更改名称的问题

    我正在尝试简化将 PC 添加到域的过程 到目前为止 我可以更改 PC 名称 重新启动并将 PC 添加到特定 OU 然后再次重新启动 我和OP有同样的问题这个话题 https stackoverflow com questions 62177
  • 具有泛型构造函数的泛型类? [复制]

    这个问题在这里已经有答案了 我有一个通用类 构造函数需要接受一个参数 该参数是同一类的另一个实例 问题是另一个实例可以具有不同的泛型类型 看起来 C 允许我拥有一个具有自己的泛型类型的方法 但这对于构造函数来说似乎是不允许的 public
  • SwiftUI TextField 货币格式问题

    我在使用 TextField 输入货币金额时遇到了 SwiftUI 最终用户的可用性问题 绑定字段是双精度型 初始设置为 0 当显示文本字段时 提示为 0 00 问题是 当用户想要输入一个值时 他们必须手动使用退格键删除 0 00 另外 如
  • Oracle XE查询日志

    在 Postgres 中 您可以打开查询日志记录 从而生成一个包含任何客户端发出的所有查询的文件 Oracle XE 中是否有类似的可能性 如何打开它以及在哪里可以找到生成的文件 你会 更改会话设置 sql trace true 跟踪文件将
  • 为本机 iOS 应用程序创建 Jitsi Meet 框架并集成到 Xcode 项目中

    我已经从 Jitsi meet 网站和 git repo 检查了详细信息 以在本机应用程序中实现它 执行构建命令后 我无法在提到的位置找到框架 我也无法识别符号位置 如建议的那样 如何获取需要包含在本机应用程序中的框架 以使 jitsi m