如何为 Xcode 构建和编译 PJSIP,使用示例代码 IPJSUA 进行测试?

2024-01-31

如何使用xCode构建和编译PJSIP并运行示例代码IPJSUA?


首先,您需要打开终端。终端可以在应用程序->实用程序->终端中找到。 打开终端后,请确保指向桌面,以便更轻松地获取数据文件夹。只需输入:

光盘桌面

恭喜,您已经进入桌面了。现在继续输入这个。

svn co http://svn.pjsip.org/repos/pjproject/trunk http://svn.pjsip.org/repos/pjproject/trunk项目项目

该代码意味着您将 pjproject 从网站下载到桌面。下载完PJSIP后,您需要添加config_site.h。老实说,我不知道我们应该做什么,但只是遵循它。 :D

如何创建 config_site.h?只需复制 config_site_sample.h,粘贴,然后将内容更改为如下所示。

之后,我们需要更改configure-iphone。我想到了。如果您只想在模拟器上运行,则需要更改 DevPath。如果您想在设备上进行测试,请保留它。

现在,我将给出在模拟器上运行的示例。打开pjproject,你会发现configure-iphone。使用文本编辑器打开该文件并更改 DEVPATH 并对 IPHONESDK 进行硬编码。

devpath 看起来像这样。

DEVPATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer

请记住,这是指路径yourXcode 应用程序。如果您想确定,请转到查找器->应用程序->xcode->显示包内容。我还硬编码了IPHONESDK。

IPHONESDK=iPhoneSimulator5.1.sdk

完成后,我们将返回航站楼。确保您已经位于 pjproject 文件夹中。输入这个。

导出CC=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc

导出 CFLAGS="-O2 -m32 -miphoneos-version-min=5.0 -g -ggdb -g3 -DNDEBUG"

导出LDFLAGS =“-O2 -m32”

之后,您可以对其进行配置。只需在终端上单击此按钮即可。如果你想在你的设备上测试,不需要更改configure-iphone、导出CC等,直接configure-iphone即可。

./配置-iphone

完成后,继续输入以下命令来构建库并所有依赖项。下面的这一行是神奇发生的地方,它需要成功完成才能继续。

使 dep && 使清洁 && 使

你会发现所有的库都会编译。如果我们想创建一个新项目,生成的库可以帮助我们。 -> 这就是我现在的想法。 现在你差不多完成了,只需转到 pjsip-apps->src->ipjsua。您将找到 Xcode 项目,只需单击它即可在您的 Xcode 中打开。单击构建并运行。你会发现这样的界面。

如果你想在你的设备上测试,你必须有证书和私钥链。我无法解释这一点,因为我从我的公司获得了该证书。他们提供它。

如果您想尝试,您必须先创建一个 SIP 帐户。您可以使用 sip2sip 或 ekiga。在这里我尝试了ekiga。例如我的 SIP 是[电子邮件受保护] /cdn-cgi/l/email-protection and [电子邮件受保护] /cdn-cgi/l/email-protection.

模拟器之后我们输入+a来添加新帐户。 接下来您必须输入您的 SIP 名称。记得输入“sip:”。永远不要忘记。这是示例:sip:[电子邮件受保护] /cdn-cgi/l/email-protection.

之后,您必须输入 URL 地址,只需输入 ekiga.net,因为这是我们的 URL。这个URL代表我们的服务器。例如,sip:ekiga.net。

接下来是身份验证领域。键入与 URL 地址相同的内容 sip:ekiga.net。 接下来是您的用户名。在这里,我的用户名是 12345678。您不需要添加 sip 或输入@ekiga.net。 最后是你的密码。注册后,它会自动添加到帐户中。只需转到文本字段,然后按 Enter 键即可。它会让你耳目一新。

接下来,我们需要添加好友。类型+b,并且必须输入 URI 地址。类型sip:[email protected] /cdn-cgi/l/email-protection你就完成了。返回文本字段,它将自动添加到您的好友列表中。

您将看到您的帐户仍处于离线模式。拨打电话之前,您需要更改为在线模式。只需输入 t 更改状态,然后按 Enter 键即可。

之后你可以通过输入M.和输入1.来拨打电话,因为我们的好友不是1。1是他们的ID。你可以打电话。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为 Xcode 构建和编译 PJSIP,使用示例代码 IPJSUA 进行测试? 的相关文章

随机推荐

  • 将文本添加到绘图中

    x lt seq 3 3 0 01 y1 lt dnorm x 0 1 y2 lt 0 5 dnorm x 0 1 plot x y1 type l bty L xlab X ylab dnorm X points x y2 type l
  • 数组中所有元素的总和

    我是编程初学者 我想计算数组中所有元素的总和 我做了这个 但我看不出我的错误在哪里 function ArrayAdder array this sum 0 this array array ArrayAdder prototype com
  • python 按不同标准对元组进行排序

    我有一个清单a 1 a 1 b 2 c 我想得到这个列表 2 c 1 a 1 b 如果我这样做 sorted a reverse True 我只能得到 2 c 1 b 1 a 我怎样才能得到我想要的列表 如果您想保留原始列表中的排序顺序 但
  • 如何通过 SoundCloud API 添加评论

    我想通过 SoundCloud API 发表评论 但查看文档 http developers soundcloud com docs api reference tracks这似乎是不可能的 唯一可用的方法 tracks id commen
  • 为什么 React 需要 Babel 和 Webpack 才能工作?

    我正在查看 vue js 的 wiki 页面 看到了这个 与 React 开发相比 Vue 可以集成到 现有的 Web 应用程序更加容易 通常 Web 应用程序 只需包含 Vue js 即可立即开始使用 Vue JavaScript 库 与
  • ASP.NET MVC 中的超快速文本到语音 (WAV -> MP3)

    这个问题本质上是关于微软的语音API SAPI 对于服务器工作负载的适用性以及它是否可以在内部可靠地使用 w3wp用于语音合成 我们有一个异步控制器 它使用本机System Speech NET 4 中的程序集 不是Microsoft Sp
  • 如何刷新 Google OAuth2 AccessToken

    我见过很多问题 https stackoverflow com questions 22357348 google apis client for csharp auth using refresh token关于这个问题有不同的答案 有些
  • 一次循环遍历 2 个列表

    我有两个长度相同的列表 是否可以同时循环这两个列表 我正在寻找正确的语法来执行以下操作 foreach itemA itemB in ListA ListB Console WriteLine itemA ToString itemB To
  • 如何对向量列表执行成对运算(如“%in%”)和集合运算

    这个问题的动机是如何快速查看 R 中多个向量的任何元素是否相等 https stackoverflow com q 39060567 4891738 但不相同 重复 作为一个小例子 假设我们有一个包含 4 个向量的列表 set seed 0
  • 通过 wsHttpBinding 在 PHP 中调用 WCF WebService

    我有一个 WCF Web 服务 我可以通过 basicHttp 连接到它 但不能通过 wsHttp 连接到它 我尝试通过以下方式通过 wshttp 连接到它 service new SoapClient http service compa
  • Angular 5 Service Worker 不工作/不缓存背景图像

    我无法让我的 Angular5 Service Worker 工作 我有两个主要问题 Service Worker 不会缓存用作背景图像的资产图像 模拟网络断开连接后 服务工作人员最初从缓存中提取文件 上述非缓存文件除外 但在第二次刷新后会
  • SQL 更新可选参数 PHP

    我们想要改变将值从 PHP 传递到存储过程 T SQL 的方式 我对 PHP 只有很少的经验 但我将尝试通过与我们的 Web 开发人员的讨论来解释该过程 当前流程 测试表示例 为了更新记录 例如本示例中的 Field3 我们会将所有现有值传
  • 从 select 将记录插入到 OrientDB 类的嵌入字段中

    我正在评估 OrientDB 数据库 我有两个从关系数据库导入的文档类 class Order with properties ID integer OrderItems EmbeddedList of OrderItem and clas
  • 如何访问主项目中的子项目头文件

    我有一个主项目和另一个作为子项目添加的项目 我想将子项目中定义的头文件访问到主项目中 但不幸的是它说文件找不到错误 请查看附件图片 我应该修改什么来访问子项目的头文件 您需要将子项目的路径添加到search path for headers
  • 将实体中的列表转换为数据库中的单个字符串列

    我有一个VARCHAR我的数据库中的字段 该字段的值为val1 val2 val3 是否可以将其设置为ArrayList
  • 在 Pig 中编写 udf 有点像教程

    我是 Pig 新手 并且正在尝试编写 udf 函数 所以基本上这是问题陈述 我有一个这样的虚拟数据 user id movie id date time stamp 所以我想做的就是这个 如果交易是在 9 am and 11 am gt b
  • 为什么 C# 方法不返回值?

    很容易理解为什么method 返回一个值 但我无法理解不返回值的方法的概念 static void PrintName string firstName string lastName Console Writeline firstName
  • 使用 nltk 从德语文本中提取单词

    我正在尝试从德语文档中提取单词 当我使用 nltk 教程中描述的以下方法时 我无法获取具有特定于语言的特殊字符的单词 ptcr nltk corpus PlaintextCorpusReader Corpus words nltk Text
  • 使用 csv 阅读器在文本文件中保留双引号

    您好 我有一个带有字符串的文本文件 你好 foo 酒吧 我想将其分成一个列表 hello foo bar 有什么办法可以实现这个目标吗 我现在正在尝试这个 for line in sys stdin csv file StringIO St
  • 如何为 Xcode 构建和编译 PJSIP,使用示例代码 IPJSUA 进行测试?

    如何使用xCode构建和编译PJSIP并运行示例代码IPJSUA 首先 您需要打开终端 终端可以在应用程序 gt 实用程序 gt 终端中找到 打开终端后 请确保指向桌面 以便更轻松地获取数据文件夹 只需输入 光盘桌面 恭喜 您已经进入桌面了