No description
Find a file
2013-10-18 15:53:28 +02:00
Classes Fix the asset optimization for good: 2013-10-15 16:04:11 +02:00
liblinphone-tutorials/hello-world Install the tutorials source code in the sdk zip and use this installed source code in the tutorials xcode project. 2013-04-10 12:27:29 +02:00
linphone.ldb Merge branch 'master' into HEAD to incorporate changes for version 2.1 (see tag 2.1) 2013-10-11 16:32:53 +02:00
linphone.xcodeproj Disable some image processing in release mode, 2013-10-14 17:06:08 +02:00
Resources Remove apple-store specific changes for non-inclusion of FFMPEG and X264 2013-10-11 17:19:33 +02:00
Settings/InAppSettings.bundle Add HD video configuration in the settings. 2013-07-22 13:25:27 +02:00
submodules Re-enable ffmpeg in master 2013-10-18 11:03:15 +02:00
.gitignore Add files to .gitignore 2012-09-11 17:58:57 +02:00
.gitmodules Update git urls from sourceforge. 2013-09-04 09:24:45 +02:00
COPYING add GPL license 2011-08-12 17:55:48 +02:00
disable-security.patch apple sore version 1.1 2011-11-29 11:43:55 +01:00
ImageOptim.sh Don't resize 9Patch images. This messes up the Chat View 2013-10-18 15:53:28 +02:00
iTunesArtwork iTunesArtwork must be at the root directory level 2012-12-14 08:17:51 +01:00
linphone-Info.plist Bump bundle short version do 3.5.103 2013-10-15 17:00:18 +02:00
Linphone.clr Add linphone palette 2012-09-28 12:13:31 +02:00
linphone_Prefix.pch initial commit with basic ui 2010-01-22 11:44:23 +01:00
main.m Add DEBUG symbol in debug configuration 2012-08-09 16:46:43 +02:00
NEWS Add NEWS file 2012-10-04 11:01:45 +02:00
README update README 2013-07-29 16:54:16 +02:00

					            LINPHONE ON IPHONE
					******************************************

					
BUILD PREQUISITES
*****************

Linphone for iPhone depends on liblinphone sdk. This SDK is generated from makefiles and shell scripts.
You must first install both xcode with iPhone OS SDK and MacPorts (www.macports.org) for these scripts to work.

Make sure that /opt/local/bin (macport tools) arrives first in your PATH env variable, so that the macport tools are taken in place of the versions brought by Apple in /usr/bin. Otherwise the build will fail with obscure errors.

Once xcode and macports are installed, open a terminal and install the required build-time tools with:

	$ sudo port install coreutils automake autoconf libtool intltool wget pkgconfig cmake gmake yasm grep doxygen ImageMagick optipng antlr3


Install gas-preprosessor.pl version above Jully 2013  (http://github.com/yuvi/gas-preprocessor/ ) to be copied into /opt/local/bin :

	$ wget --no-check-certificate https://raw.github.com/yuvi/gas-preprocessor/master/gas-preprocessor.pl
	$ sudo mv gas-preprocessor.pl /opt/local/bin/.
	$ sudo chmod +x /opt/local/bin/gas-preprocessor.pl

Link macport libtoolize to glibtoolize 

	$ sudo ln -s /opt/local/bin/glibtoolize /opt/local/bin/libtoolize

Link host's strings to simulator SDK 

	For Xcode prior to 4.3:
	$ sudo ln -s  /usr/bin/strings /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings
	For newer XCode:
	$ sudo ln -s  /usr/bin/strings /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings


BUILDING THE SDK
****************

 * GPL third parties versus non GPL third parties

 This sdk can be generated in 2 flavors. Firt is with GPL third parties, it means liblinphone includes GPL third parties like FFMPEG or x264. 
 If you choose this flavor, your final application must comply with GPL in any case. This is the default mode.

 To generate the liblinphone multi arch sdk in GPL mode, do:
	$ cd submodules/build
	$ make all 

 ALTERNATIVELY, you can force liblinphone to use only non GPL code except for liblinphone, mediastremer2, ortp, belle-sip.
 If you choose this flavor, your final application  is still subject to GPL except if you have a commercial license for liblinphone, mediastremer2, ortp, belle-sip.

 To generate the liblinphone multi arch sdkin non GPL mode, do:
	$ cd submodules/build
	$ make all enable_gpl_third_parties=no

xcode prior to 4.5:
	$ make -f Makefile.xcode4.4
 * ZRTP support

 You can enable ZRTP support in GPL mode only, by adding "enable_zrtp=yes" to the make command, for example:
 	$ make all enable_gpl_third_parties=yes enable_zrtp=yes
	

The resulting sdk is in liblinphone-sdk/ directory.


In case you upgrade your IOS SDK, you may force rebuilding everything, by doing
	$ make veryclean
	$ make all

BUILDING THE APPLICATION
************************

After the SDK is built, just open the linphone xcode project with Xcode, and press "Run".

 * Note regarding third party components subject to license
 
The liblinphone-sdk is compiled with third parties code that are subject to patent license, specially: AMR, SILK G729 and  X264 codecs.
Linphone controls the embedding of these codecs thanks to the preprocessor macros HAVE_SILK, HAVE_AMR, HAVE_G729 HAVE_X264 positioned in xcode project.
Before embeding these 4 codecs in the final application, make sure to have the right to do so.

TRANSLATER THE APPLICATION
**************************

You have to download the application Localization Suite(http://www.loc-suite.org/)
Each modification in a xib have to be scanned and synchronized


LIMITATIONS, KNOWN BUGS
***********************

* Video capture does not work in simulator (not implemented by simulator ?).


DEBUGING THE SDK
****************

Sometime it can be usefull to step into liblinphone SDK funtions. To allow xcode to enable breakpoint whithin liblinphone, SDK must be built with debug symbols.
To add debug symbol to liblinphone SDK, add make option "enable_debug=yes".
	$ make make all enable_gpl_third_parties=no enable_debug=yes


DEBUGING MEDIASTREMMER2
***********************
For IOS specicific media development like audio video capture/playback it may be interresting to use mediastream test tool.
The project submodule/liblinphone.xcodeproj can be used for this purpose.

****************