forked from mirrors/linphone-iphone
Conflicts: Classes/AboutViewController.h Classes/ChatRoomTableViewController.h Classes/ChatRoomTableViewController.m Classes/ChatRoomViewController.h Classes/ChatRoomViewController.m Classes/ChatViewController.m Classes/ConsoleViewController.m Classes/ConsoleViewController.xib Classes/ContactDetailsLabelViewController.m Classes/ContactDetailsTableViewController.m Classes/ContactDetailsViewController.m Classes/ContactsViewController.m Classes/DialerViewController.m Classes/HistoryViewController.m Classes/ImagePickerViewController.h Classes/ImageViewController.h Classes/ImageViewController.m Classes/InCallTableViewController.m Classes/InCallViewController.m Classes/LinphoneCoreSettingsStore.m Classes/LinphoneUI/UICallBar.m Classes/LinphoneUI/UICallCell.h Classes/LinphoneUI/UICallCell.m Classes/LinphoneUI/UIChatCell.h Classes/LinphoneUI/UIChatCell.m Classes/LinphoneUI/UIChatCell.xib Classes/LinphoneUI/UIChatRoomCell.h Classes/LinphoneUI/UIChatRoomCell.m Classes/LinphoneUI/UIChatRoomCell.xib Classes/LinphoneUI/UICompositeViewController.h Classes/LinphoneUI/UIContactDetailsHeader.m Classes/LinphoneUI/UIHistoryCell.xib Classes/LinphoneUI/UIMainBar.m Classes/LinphoneUI/UIStateBar.xib Classes/LinphoneUI/en.lproj/UICallBar.xib Classes/LinphoneUI/en.lproj/UICallBar~ipad.xib Classes/LinphoneUI/en.lproj/UICallCell.xib Classes/LinphoneUI/en.lproj/UIConferenceHeader.xib Classes/LinphoneUI/en.lproj/UIContactDetailsFooter.xib Classes/LinphoneUI/en.lproj/UIContactDetailsHeader.xib Classes/LinphoneUI/en.lproj/UIMainBar.xib Classes/LinphoneUI/en.lproj/UIMainBar~ipad.xib Classes/LinphoneUI/fr.lproj/UICallBar.xib Classes/LinphoneUI/fr.lproj/UICallBar~ipad.xib Classes/LinphoneUI/fr.lproj/UICallCell.xib Classes/LinphoneUI/fr.lproj/UIConferenceHeader.xib Classes/LinphoneUI/fr.lproj/UIContactDetailsFooter.xib Classes/LinphoneUI/fr.lproj/UIContactDetailsHeader.xib Classes/LinphoneUI/fr.lproj/UIMainBar.xib Classes/LinphoneUI/fr.lproj/UIMainBar~ipad.xib Classes/Model/ChatModel.h Classes/Model/ChatModel.m Classes/PhoneMainView.h Classes/PhoneMainView.m Classes/PhoneMainView.xib Classes/SettingsViewController.m Classes/SettingsViewController.xib Classes/Utils/NinePatch/NinePatch.xcodeproj/project.pbxproj Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj Classes/WizardViewController.h Classes/WizardViewController.m Classes/en.lproj/ChatRoomViewController.xib Classes/en.lproj/ChatViewController.xib Classes/en.lproj/ContactDetailsLabelViewController.xib Classes/en.lproj/ContactDetailsViewController.xib Classes/en.lproj/ContactsViewController.xib Classes/en.lproj/DialerViewController.xib Classes/en.lproj/DialerViewController~ipad.xib Classes/en.lproj/FirstLoginViewController.xib Classes/en.lproj/HistoryDetailsViewController.xib Classes/en.lproj/HistoryViewController.xib Classes/en.lproj/InCallViewController.xib Classes/en.lproj/IncomingCallViewController.xib Classes/en.lproj/WizardViewController.xib Classes/fr.lproj/ChatRoomViewController.xib Classes/fr.lproj/ChatViewController.xib Classes/fr.lproj/ContactDetailsLabelViewController.xib Classes/fr.lproj/ContactDetailsViewController.xib Classes/fr.lproj/ContactsViewController.xib Classes/fr.lproj/DialerViewController.xib Classes/fr.lproj/DialerViewController~ipad.xib Classes/fr.lproj/FirstLoginViewController.xib Classes/fr.lproj/HistoryDetailsViewController.xib Classes/fr.lproj/HistoryViewController.xib Classes/fr.lproj/InCallViewController.xib Classes/fr.lproj/IncomingCallViewController.xib Classes/fr.lproj/WizardViewController.xib README Resources/accept_default.png Resources/accept_over.png Resources/cancel_default.png Resources/cancel_over.png Resources/chat_add_default.png Resources/chat_add_over.png Resources/chat_back_default.png Resources/chat_back_over.png Resources/chat_default.png Resources/chat_default_landscape~ipad.png Resources/chat_default~ipad.png Resources/chat_edit_default.png Resources/chat_edit_over.png Resources/chat_message_delivered.png Resources/chat_message_inprogress.png Resources/chat_message_not_delivered.png Resources/chat_ok_default.png Resources/chat_ok_over.png Resources/chat_over.png Resources/chat_over_landscape~ipad.png Resources/chat_over~ipad.png Resources/chat_selected.png Resources/chat_selected_landscape~ipad.png Resources/chat_selected~ipad.png Resources/chat_send_default.png Resources/chat_send_disabled.png Resources/chat_send_over.png Resources/contact_back_default.png Resources/contact_back_over.png Resources/contact_cancel_default.png Resources/contact_cancel_over.png Resources/contact_edit_default.png Resources/contact_edit_over.png Resources/contact_ok_default.png Resources/contact_ok_disabled.png Resources/contact_ok_over.png Resources/contacts_add_default.png Resources/contacts_add_over.png Resources/contacts_all_default.png Resources/contacts_all_selected.png Resources/contacts_back_default.png Resources/contacts_back_over.png Resources/contacts_default.png Resources/contacts_default_landscape~ipad.png Resources/contacts_default~ipad.png Resources/contacts_linphone_default.png Resources/contacts_linphone_selected.png Resources/contacts_over.png Resources/contacts_over_landscape~ipad.png Resources/contacts_over~ipad.png Resources/contacts_selected.png Resources/contacts_selected_landscape~ipad.png Resources/contacts_selected~ipad.png Resources/decline_default.png Resources/decline_over.png Resources/dialer_address_background_landscape~ipad.png Resources/dialer_address_background~ipad.png Resources/dialer_default.png Resources/dialer_over.png Resources/dialer_selected.png Resources/en.lproj/Localizable.strings Resources/fr.lproj/Localizable.strings Resources/header_conference.png Resources/header_incoming.png Resources/history_all_default.png Resources/history_all_selected.png Resources/history_default.png Resources/history_default_landscape~ipad.png Resources/history_default~ipad.png Resources/history_details_add_default.png Resources/history_details_add_over.png Resources/history_details_back_default.png Resources/history_details_back_over.png Resources/history_edit_default.png Resources/history_edit_over.png Resources/history_missed_default.png Resources/history_missed_selected.png Resources/history_ok_default.png Resources/history_ok_over.png Resources/history_over.png Resources/history_over_landscape~ipad.png Resources/history_over~ipad.png Resources/history_selected.png Resources/history_selected_landscape~ipad.png Resources/history_selected~ipad.png Resources/linphonerc-factory Resources/linphonerc-factory~ipad Resources/micro_off_default.png Resources/micro_off_default_landscape.png Resources/micro_off_default_landscape~ipad.png Resources/micro_off_default~ipad.png Resources/micro_off_disabled.png Resources/micro_off_disabled_landscape.png Resources/micro_off_disabled_landscape~ipad.png Resources/micro_off_disabled~ipad.png Resources/micro_off_over.png Resources/micro_off_over_landscape.png Resources/micro_off_over_landscape~ipad.png Resources/micro_off_over~ipad.png Resources/micro_on_default.png Resources/micro_on_default_landscape.png Resources/micro_on_default_landscape~ipad.png Resources/micro_on_default~ipad.png Resources/micro_on_disabled.png Resources/micro_on_disabled_landscape.png Resources/micro_on_disabled_landscape~ipad.png Resources/micro_on_disabled~ipad.png Resources/micro_on_over.png Resources/micro_on_over_landscape.png Resources/micro_on_over_landscape~ipad.png Resources/micro_on_over~ipad.png Resources/options_add_default.png Resources/options_add_default_landscape.png Resources/options_add_default_landscape~ipad.png Resources/options_add_default~ipad.png Resources/options_add_disabled.png Resources/options_add_disabled_landscape.png Resources/options_add_disabled_landscape~ipad.png Resources/options_add_disabled~ipad.png Resources/options_add_over.png Resources/options_add_over_landscape.png Resources/options_add_over_landscape~ipad.png Resources/options_add_over~ipad.png Resources/options_default.png Resources/options_default_landscape.png Resources/options_default_landscape~ipad.png Resources/options_default~ipad.png Resources/options_disabled.png Resources/options_disabled_landscape.png Resources/options_disabled_landscape~ipad.png Resources/options_disabled~ipad.png Resources/options_over.png Resources/options_over_landscape.png Resources/options_over_landscape~ipad.png Resources/options_over~ipad.png Resources/options_selected.png Resources/options_selected_landscape.png Resources/options_selected_landscape~ipad.png Resources/options_selected~ipad.png Resources/options_transfer_default.png Resources/options_transfer_default_landscape.png Resources/options_transfer_default_landscape~ipad.png Resources/options_transfer_default~ipad.png Resources/options_transfer_disabled.png Resources/options_transfer_disabled_landscape.png Resources/options_transfer_disabled_landscape~ipad.png Resources/options_transfer_disabled~ipad.png Resources/options_transfer_over.png Resources/options_transfer_over_landscape.png Resources/options_transfer_over_landscape~ipad.png Resources/options_transfer_over~ipad.png Resources/settings_default.png Resources/settings_default_landscape~ipad.png Resources/settings_default~ipad.png Resources/settings_over.png Resources/settings_over_landscape~ipad.png Resources/settings_over~ipad.png Resources/settings_selected.png Resources/settings_selected_landscape~ipad.png Resources/settings_selected~ipad.png Resources/setup_back_default.png Resources/setup_back_disabled.png Resources/setup_back_over.png Resources/setup_cancel_default.png Resources/setup_cancel_disabled.png Resources/setup_cancel_over.png Resources/setup_start_default.png Resources/setup_start_disabled.png Resources/setup_start_over.png Resources/setup_welcome_logo.png Resources/speaker_off_default.png Resources/speaker_off_default_landscape.png Resources/speaker_off_default_landscape~ipad.png Resources/speaker_off_default~ipad.png Resources/speaker_off_disabled.png Resources/speaker_off_disabled_landscape.png Resources/speaker_off_disabled_landscape~ipad.png Resources/speaker_off_disabled~ipad.png Resources/speaker_off_over.png Resources/speaker_off_over_landscape.png Resources/speaker_off_over_landscape~ipad.png Resources/speaker_off_over~ipad.png Resources/speaker_on_default.png Resources/speaker_on_default_landscape.png Resources/speaker_on_default_landscape~ipad.png Resources/speaker_on_default~ipad.png Resources/speaker_on_disabled.png Resources/speaker_on_disabled_landscape.png Resources/speaker_on_disabled_landscape~ipad.png Resources/speaker_on_disabled~ipad.png Resources/speaker_on_over.png Resources/speaker_on_over_landscape.png Resources/speaker_on_over_landscape~ipad.png Resources/speaker_on_over~ipad.png Resources/switch_camera_default.png Resources/switch_camera_over.png Resources/toolsbar_background.png Resources/video_off_default.png Resources/video_off_default_landscape.png Resources/video_off_default_landscape~ipad.png Resources/video_off_default~ipad.png Resources/video_off_disabled.png Resources/video_off_disabled_landscape.png Resources/video_off_disabled_landscape~ipad.png Resources/video_off_disabled~ipad.png Resources/video_off_over.png Resources/video_off_over_landscape.png Resources/video_off_over_landscape~ipad.png Resources/video_off_over~ipad.png Resources/video_on_default.png Resources/video_on_default_landscape.png Resources/video_on_default_landscape~ipad.png Resources/video_on_default~ipad.png Resources/video_on_disabled.png Resources/video_on_disabled_landscape.png Resources/video_on_disabled_landscape~ipad.png Resources/video_on_disabled~ipad.png Resources/video_on_over.png Resources/video_on_over_landscape.png Resources/video_on_over_landscape~ipad.png Resources/video_on_over~ipad.png linphone-Info.plist linphone.ldb/Contents.plist linphone.ldb/Resources/Classes/ChatRoomViewController/37/ChatRoomViewController.xib linphone.ldb/Resources/Classes/ChatViewController/16/ChatViewController.xib linphone.ldb/Resources/Classes/ContactDetailsLabelViewController/4/ContactDetailsLabelViewController.xib linphone.ldb/Resources/Classes/ContactDetailsViewController/4/ContactDetailsViewController.xib linphone.ldb/Resources/Classes/ContactsViewController/13/ContactsViewController.xib linphone.ldb/Resources/Classes/DialerViewController/4/DialerViewController.xib linphone.ldb/Resources/Classes/DialerViewController~ipad/12/DialerViewController~ipad.xib linphone.ldb/Resources/Classes/FirstLoginViewController/5/FirstLoginViewController.xib linphone.ldb/Resources/Classes/HistoryDetailsViewController/5/HistoryDetailsViewController.xib linphone.ldb/Resources/Classes/HistoryViewController/12/HistoryViewController.xib linphone.ldb/Resources/Classes/InCallViewController/5/InCallViewController.xib linphone.ldb/Resources/Classes/IncomingCallViewController/6/IncomingCallViewController.xib linphone.ldb/Resources/Classes/WizardViews/17/WizardViews.xib linphone.ldb/Resources/LinphoneUI/UICallBar/9/UICallBar.xib linphone.ldb/Resources/LinphoneUI/UICallBar~ipad/7/UICallBar~ipad.xib linphone.ldb/Resources/LinphoneUI/UICallCell/9/UICallCell.xib linphone.ldb/Resources/LinphoneUI/UIContactDetailsFooter/3/UIContactDetailsFooter.xib linphone.ldb/Resources/LinphoneUI/UIContactDetailsHeader/4/UIContactDetailsHeader.xib linphone.ldb/Resources/LinphoneUI/UIMainBar/9/UIMainBar.xib linphone.ldb/Resources/LinphoneUI/UIMainBar~ipad/8/UIMainBar~ipad.xib linphone.ldb/Resources/Resources/Localizable/1/Localizable.strings linphone.xcodeproj/project.pbxproj
93 lines
3.5 KiB
Text
93 lines
3.5 KiB
Text
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.
|
|
|
|
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
|
|
|
|
|
|
Install gas-preprosessor.pl (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, exosip, osip.
|
|
If you choose this flavor, your final application is still subject to GPL except if you have a commercial license for liblinphone, mediastremer2, ortp, exosip, osip.
|
|
|
|
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 ?).
|
|
* Sound does not work well (or at all) in simulator
|
|
|
|
|
|
|