本页内容
创建一个项目
Android
- 用 Flutter CLI 创建一个叫做 example 的 Flutter 项目:
bash
flutter create --org com.compdfkit.flutter example
- 在终端应用程序中,把当前的工作目录移动到您的项目中:
bash
cd example
- 打开 "example/android/app/src/main/AndroidManifest.xml" 文件,添加网络、存储权限。
diff
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.compdfkit.flutter.example">
<!-- 在线认证License需要使用网络权限! -->
+ <uses-permission android:name="android.permission.INTERNET"/>
<!-- 需要从设备存储中读取和写入文档 -->
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- 可选配置 -->
+ <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<application
+ android:requestLegacyExternalStorage="true">
</application>
</manifest>
- 打开 App 的 Gradle 构建文件 "android/app/build.gradle" :
bash
open android/app/build.gradle
- 修改 App 最低支持的系统版本,这些操作都在 "android/app/build.gradle" 文件中的
android
部分里完成(如下所示):
diff
android {
defaultConfig {
- minSdkVersion flutter.minSdkVersion
+ minSdkVersion 21
...
}
}
- 打开项目的
android/app/src/main/java/com/example/compdfkit/flutter/example/MainActivity.java
,将MainActivity
修改为继承FlutterFragmentActivity
:
diff
- import io.flutter.embedding.android.FlutterActivity;
+ import io.flutter.embedding.android.FlutterFragmentActivity;
- public class MainActivity extends FlutterActivity {
+ public class MainActivity extends FlutterFragmentActivity {
}
或者,您可以更新 AndroidManifest.xml
文件,将 FlutterFragmentActivity
作为启动活动:
diff
<activity
- android:name=".MainActivity"
+ android:name="io.flutter.embedding.android.FlutterFragmentActivity"
android:exported="true"
android:hardwareAccelerated="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:windowSoftInputMode="adjustPan">
注意:
FlutterFragmentActivity
不是 Flutter SDK 的官方部分。如果您需要在 ComPDFKit for Flutter 中使用CPDFReaderWidget
,您需要使用这部分代码。如果您不需要使用,可以跳过这一步。
- 打开 "pubspec.yaml" 文件,添加 ComPDFKit 插件。
diff
dependencies:
flutter:
sdk: flutter
+ compdfkit_flutter: ^2.1.1
- 在终端应用程序中,运行下面的命令以获取所有的包:
bash
flutter pub get
iOS
- 用 Flutter CLI 创建一个叫做 example 的 Flutter 项目:
bash
flutter create --org com.compdfkit.flutter example
- 在终端应用程序中,把当前的工作目录移动到您的项目中:
bash
cd example
- 在 "pubspec.yaml" 中添加 ComPDFKit 依赖:
diff
dependencies:
flutter:
sdk: flutter
+ compdfkit_flutter: ^2.1.1
- 在终端应用程序中,运行下面的命令以获取所有的包:
bash
flutter pub get
- 在文本编辑器中打开您项目的 "Podfile" 文件:
bash
open ios/Podfile
- 更新平台为 iOS 12 并添加 "compdfkit_flutter.podspec" :
diff
- platform :ios, '9.0'
+ platform :ios, '12.0'
...
target 'Runner' do
use_frameworks!
use_modular_headers!`
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
+ pod 'ComPDFKit_Tools', podspec:'https://www.compdf.com/download/ios/cocoapods/xcframeworks/compdfkit_tools/2.1.1.podspec'
+ pod 'ComPDFKit', podspec:'https://www.compdf.com/download/ios/cocoapods/xcframeworks/compdfkit/2.1.1.podspec'
end
- 转到 "example/ios" 文件夹并运行
pod install
命令:
bash
pod install
注意: 如果SSL网络请求在运行' pod install '时下载' ComPDFKit '库失败,您可以查看故障排除中的处理方法。
- 保护用户隐私:
为了保护用户隐私,在访问敏感的隐私数据之前,需要找到 iOS 10.0 或更高版本 iOS 项目中的 "Info" 配置,并按照下图所示配置相关隐私条款。
objc
<key>NSCameraUsageDescription</key>
<string>Your consent is required before you could access the function.</string>
<key>NSMicrophoneUsageDescription</key>
<string>Your consent is required before you could access the function.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Your consent is required before you could access the function.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Your consent is required before you could access the function.</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>