为了能够在 Swift 项目上构建和运行 Linphone,我必须执行以下步骤:
从http://www.linphone.org/snapshots/ios/liblinphone-iphone-sdk-latest.zip下载最新的 SDK(带 wget)
在项目中复制、粘贴和插入:
- liblinphone-sdk/apple-darwin/include
- liblinphone-sdk/apple-darwin/lib
- liblinphone-sdk/apple-darwin/share/images
- liblinphone-sdk/apple-darwin/share/sounds
使用以下命令创建一个 Bridging-Header.h:
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <linphone/linphonecore.h>
创建一个 PrefixHeader.pch 来导入您的 Bridging-Header:
#import "Bridging-Header.h"
集成以下 pod:
pod 'xmlrpc', '~> 2.3.4'
pod 'Tortuga22-NinePatch', '~> 0.1.1'
配置构建设置:
`
GCC_PRECOMPILE_PREFIX_HEADER = YES
GCC_PREFIX_HEADER = path/to/PrefixHeader.pch
OTHER_LDFLAGS = -ObjC $(inherited)
FRAMEWORK_SEARCH_PATHS = $(inherited)
HEADER_SEARCH_PATHS = $(inherited) ${PODS_ROOT}/Headers/Public $(PROJECT_DIR)/External/liblinphone-sdk/apple-darwin/include
LIBRARY_SEARCH_PATHS = $(inherited) $(PROJECT_DIR)/External/liblinphone-sdk/apple-darwin/lib $(PROJECT_DIR)/External/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins
`
- 配置宏:
`
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) HAVE_OPENH264 HAVE_SILK HAVE_SSL
OTHER_SWIFT_FLAGS = $(inherited) -D HAVE_OPENH264 -D HAVE_SILK -D HAVE_SSL
`
- 库和框架:
首先添加文件夹(和子文件夹)中的所有库liblinphone-sdk/apple-darwin/lib
。然后一定要添加以下列表:
豆荚:
动态库:
- libz.dylib
- libiconv.dylib
- libxml2.dylib
- libsqlite3.dylib
- libc++.dylib
- libstdc++.6.dylib
- libresolv.dylib
框架:(抱歉,我不确定它们是否都是 100% 需要的,但这就是我设法构建 lib 的方式)
- AudioToolbox.framework
- UIKit.framework
- QuartzCore.framework
- OpenGLES.framework
- MessageUI.framework
- MediaPlayer.framework
- CoreGraphics.framework
- MobileCoreServices.framework
- AddressBookUI.framework
- 地址簿框架
- SystemConfiguration.framework
- CFNetwork.framework
- AssetsLibrary.framework
- AVFoundation.framework
- CoreAudio.framework
- CoreMedia.framework
- CoreTelephony.framework
- CoreVideo.framework
- 基础框架
- CoreLocation.framework
如何测试:
为了验证它是否正常工作,我从 Linphone 应用程序中集成了一些示例代码,并在我的视图控制器中进行了一些小的设置。为此,我在项目中集成了以下类:
- 实用程序。[h, m]
- LinphoneManager.[h, m]
- LinphoneCoreSettingsStore.[h, m]
- FastAddressBook.[h, m]
- LinphoneIOSVersion.h
- pod 'InAppSettingsKit', '~> 2.6'
PS:我必须更新它们才能在没有警告或错误的情况下构建。
我希望有一天这会对某人有所帮助!