【问题标题】:How To Build and Compile PJSIP for Xcode, Using sample code IPJSUA to test?如何为 Xcode 构建和编译 PJSIP,使用示例代码 IPJSUA 进行测试?
【发布时间】:2012-08-04 14:35:06
【问题描述】:

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

【问题讨论】:

  • 您能否将其拆分为一个明确的问题和一个作为答案发布的解决方案?
  • @BilltheLizard - 完成。谢谢.. :)

标签: iphone ios xcode ipad pjsip


【解决方案1】:

对于 XCode 4.5

->

export DEVPATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/
export IPHONESDK=iPhoneSimulator5.1.sdk
export CC=/Applications/Xcode.app/Contents/Developer/usr/bin/gcc 

【讨论】:

    【解决方案2】:

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

    cd 桌面

    恭喜,您已经在桌面上。现在继续输入。

    svn cohttp://svn.pjsip.org/repos/pjproject/trunkpjproject

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

    如何创建 config_site.h?只需复制config_site_sample.h,粘贴,将内容改成这样。

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

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

    开发路径将如下所示。

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

    记住,这是指你的 Xcode 应用程序的路径。如果你想确定,去finder->applications->xcode->show package contents。我还对 IPHONESDK 进行了硬编码。

    IPHONESDK=iPhoneSimulator5.1.sdk

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

    export 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即可。

    ./configure-iphone

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

    制作 dep && 制作干净 && 制作

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

    如果您想在您的设备上进行测试,您必须拥有证书和私钥链。我无法解释,因为我从我的公司获得了证书。他们提供。

    如果您想尝试,您必须先创建一个 SIP 帐户。您可以使用 sip2sip 或 ekiga。在这里,我尝试了ekiga。例如我的 SIP 是 12345678@ekiga.net 和 87654321@ekiga.net。

    在模拟器之后,我们键入 +a 来添加新帐户。 接下来,您必须输入您的 SIP 名称。记得输入“sip:”。永远不要忘记。这是示例:sip:12345678@ekiga.net。

    之后您必须输入 URL 地址,只需输入 ekiga.net,因为那是我们的 URL。此 URL 表示我们的服务器。 Tor 示例,sip:ekiga.net。

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

    接下来,我们需要添加好友。输入+b,必须输入URI地址。输入sip:87654321@ekiga.net 就完成了。返回文本字段,它会自动添加到您的好友列表中。

    您会看到您的帐户仍处于离线模式。您需要在拨打电话之前更改为在线模式。只需通过类型 t 更改状态,然后按 Enter。

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

    【讨论】:

    • 谢谢@Alfred Angkasa。现在我收到#import 文件未找到的错误。知道如何解决吗?
    • 嗨@GaneshGuturi,你想为模拟器或设备构建这个pjsip?
    • 仅适用于模拟器,但我做了什么,首先我发现 ABFavoritesList.h 和 ABFavoritesEntry.h amd 我添加到我的应用程序中,然后像 #import "ABFavoritesEntry.h" 和 #import "ABFavoritesList.h " 之后我遇到了这个问题 体系结构 i386 的未定义符号:"_pjsua_media_transports_create",引用自:call.o ld 中的 _sip_startup:未找到体系结构 i386 的符号:错误:链接器命令失败,退出代码为 1(使用 - v 查看调用)
    • 我曾经收到与您发布的相同的错误。你听从我的所有指示了吗?我的意思是答案。 2013 年新年快乐。谢谢。 :)
    • 嗨@Alfred Angkasa,我可以运行SIPHONE,但我只想知道这些+a、+b、t 和m 是什么。我可以在申请中输入什么内容?
    【解决方案3】:

    请检查以下链接。您可以从那里获取源代码并为设备和模拟器构建。

    https://github.com/radif/SIPHON-SIP-Client-that-actually-compiles

    【讨论】:

      猜你喜欢
      • 2014-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      • 2018-12-19
      相关资源
      最近更新 更多