目录
Foxit PDF SDK for iOS已经到了6.0版本,易用性,越来越高,下面给大家介绍Cordova下如何用Foxit SDK来进行开发。
系统要求和环境准备
首先说下系统的要求,以下是必须的
- Xcode
- NPM
- Cordova
- iOS
- Foxit PDF SDK For iOS
XCode
Xcode我已经安装,我安装的是Xcode 10.1如下图:
Cordova
接着安装Cordova,照着这里步骤做就好了https://cordova.apache.org/
首先安装Node.js https://nodejs.org/en/, 我下载10.15.0 版本如下图
安装最后一步如图
接着打开终端运行: $ npm install -g cordova 如果提示没有权限,运行 $ sudo npm install -g cordova
成功后如下图:
用SDK创建一个Cordova工程
创建Cordova工程并添加平台
打开终端,cd到我打算创建Corodva工程的目录,运行命令: cordova create test_cordova com.app testCordova,
加入iOS平台 运行命令:
cd test_cordova
cordova platform add ios
运行结果如下图:
安装plugin
安装 'cordova-plugin-foxitpdf' plugin
可以从npm直接下载并安装到工程目录,命令如下(以下步骤选其一,如果不指定版本,将会安装最新的版本):
// Install a specific plugin version, for example the 6.2.1 version:
cordova plugin add cordova-plugin-foxitpdf@6.2.1
或者不指定版本
// Install the latest plugin version (by not specifying the version):
cordova plugin add cordova-plugin-foxitpdf
也可以通过url安装(这种方式将会安装最新版本):
cordova plugin add https://github.com/foxitsoftware/cordova-plugin-foxitpdf.git
集成Foxit SDK
1.把Foxit PDFSDK中的 “libs”目录拷贝到 "test_cordova/platforms/ios" 目录下,如下图:
2.FoxitPDF.m类中的"sn"和"key", "FoxitPdf.m" 位于 "test_cordova/plugins/cordova-plugin-foxitpdf/src/ios"目录下, "rdk_sn.txt" 和 "rdk_key.txt"位于SDK的"libs"目录下:
4.把"FoxitRDK.framework" 和 “uiextensionsDynamic.framework” 加入到" Embedded Binaries" , 左键点击工程->"TARGETS -> General -> Embedded Binaries"
添加后效果如下图:
4.把 "WebKit.framework"加入到“ Linked Frameworks and Libraries”。
5.加入测试的PDF文件,直接拖入工程即可,加如后,可以在 TARGETS -> Build Phases -> Copy Bundle Resources中看到,如下图:
6. 把如下代码加入到index.js中,用于打开PDF文件
var pdfviewOptions = {
'filePath':cordova.file.applicationDirectory + 'complete_pdf_viewer_guide_ios.pdf',
'filePathSaveTo': cordova.file.documentsDirectory + 'complete_pdf_viewer_guide_ios_saved.pdf',
};
window.FoxitPdf.preview(pdfviewOptions,
function(succ){
console.log('succ',succ);},
function(err){
console.log('err',err);}
);
7.打开终端,在工程目录下终端运行cordova prepare ios
运行工程
直接在Xcode下运行或者命令行运行均可
XCODE下运行
也可以在终端运行以下命令之一
cordova run ios // for device
cordova emulate ios // for simulator
cordova emulate ios --target iPhone-XR // for a specific simulator
注意,如果用的是Xcode10版本,需要(Xcode10的bug:https://github.com/apache/cordova-ios/issues/407)
cordova run ios --buildFlag="-UseModernBuildSystem=0" // for device
cordova emulate ios --buildFlag="-UseModernBuildSystem=0" // for simulator
cordova emulate ios --target iPhone-XR --buildFlag="-UseModernBuildSystem=0" // for a specific simulator
运行后结果如图: