banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

MAC OSでiOS版Linphone SDKとAPPをコンパイルする

最近、SIP 通信に基づく VOIP アプリケーションプロジェクトの開発のために、いくつかのオープンソース SIP 実装を研究しました。主に PJSIP と Linphone があり、PJSIP はドキュメントが詳細で、コンパイルとテストもそれほど手間がかかりませんでした。Linphone のコンパイルはかなり手間がかかりました。始める前にインターネット上の資料を確認すると、皆が様々な苦痛を訴えていましたが、実際に自分で試してみると、ドキュメントが非常に不足している以外は、コンパイルは比較的スムーズに進みました。ただし、調査にはかなりの時間がかかりました。

PJSIP と Linphone について簡単に説明します。PJSIP は、SIP、SDP、RTP、STUN、TURN、ICE などの標準ベースのプロトコルを実装した C 言語で書かれた無料のオープンソースマルチメディア通信ライブラリです。シグナリングプロトコル(SIP)をリッチなマルチメディアフレームワークと NAT トラバーサル機能と組み合わせ、高レベルの API に統合されており、デスクトップ、組み込みシステム、モバイル端末など、ほぼすべてのタイプのシステムに適しています。

Linphone は、モバイルおよびデスクトップ環境(iOS、Android、Windows Phone 8、Linux、Windows Desktop、MAC OSX)およびウェブブラウザで利用可能なオープンソースの SIP 電話です。Linphone は、ユーザーインターフェースとコアエンジンの間に分離を持ち、同じ機能の上にさまざまな種類のユーザーインターフェースを作成できるようにしています。

コンパイル環境 MAC OS 10.10.5 Xcode 6.4

以下はコンパイルの手順で、500M のソースコードについて公式は README.MD の一部を提供しています。

  1. Xcode とコマンドラインツールをインストールします。AppStore からダウンロードできます。すでにインストール済みの方はスキップしてください。
  2. HomeBrew をインストールします。http://brew.sh に行き、指示に従って最新バージョンの HomeBrew をインストールしてください。または、ネットワークに接続してターミナルを開き、以下のコマンドを使用してインストールします。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  1. Xcode と Homebrew のインストールが正しく行われたら、以下のコマンドを使用して準備作業を行います。まず、linphone のソースコードをダウンロードします。これから手間がかかります。

git clone git://git.linphone.org/linphone-iphone.git --recursive

ここでネットワークを準備してください。約 500M のファイルが必要です。VPN を使用してダウンロードすることをお勧めします。

  1. ソースコードをコンパイルするには、必要な依存パッケージと lib をインストールする必要があります。以下のコマンドを実行し、要求に従ってインストールしてください。

./prepare.py

  1. 準備作業が完了したら、以下のコマンドを使用して linphone の SDK をコンパイルします。

./prepare.py -c && ./prepare.py && make

  1. SDK のコンパイルが完了したら、linphone.xcodeproj を開き、その後は通常の iOS アプリケーションとしてコンパイルを行います。

コンパイル中の問題と解決策 1. homebrew のインストールとアンインストールができない

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
Failed to locate Homebrew!

原因は、このコンピュータの他のユーザーが homebrew をインストールした可能性があります。解決策は、以下のコマンドを実行して再インストールすることです。

git キャッシュをクリア#

rm -rf /usr/local/.git

Cellar を完全にクリアする。できるだけ使用しないでください。#

rm -rf /usr/local/Cellar#

  1. libtoolize が見つからないと表示され、libtool のインストールを要求されます。原因は、MAC OS 上で libtool と libtoolize が glibtoolize と glibtool に変更されたためです。リンクを作成してください。

sudo ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize

参考資料 http://blog.csdn.net/showhilllee/article/details/42966305

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。