更新记录
1.3(2020-11-16) 下载此版本
更新说明: 数据容错处理
1.2(2020-03-02) 下载此版本
1、修改闪退问题 2、如果离线打包报错,NSInternalInconsistencyException', reason: 'Application initializing document picker is missing the iCloud entitlement. Is com.apple.developer.icloud-container-identifiers set? 请设置证书,建立证书后,打开Xcode中iCloud设置就好了
1.1(2020-02-21) 下载此版本
版本:1.1 新增 document-types参数,文件选取类型 新增 isBase64 参数 ,是否做base64处理,默认0
查看更多平台兼容性
Android | iOS |
---|---|
× | 适用版本区间:9 - 14 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
插件功能: 该插件是基于iOS原生封装的文件选取插件,可以从iOS手机上的[文件]app中选取文件,支持iOS11及以上的手机
该插件也可以从手机iCloud云中选取文件,但是从苹果开发者创建的正式必须勾选iCloud, iCloud iOS11以下也支持,注意未配置会闪退
离线打包报错,NSInternalInconsistencyException', reason: 'Application initializing document picker is missing the iCloud entitlement. Is com.apple.developer.icloud-container-identifiers set? 请设置证书,建立证书后,打开Xcode中iCloud设置就好了
// 示例代码:
let platform = '';
uni.getSystemInfo({
success:function(res){ platform = res.platform; }
})
if(platform == 'ios'){
const iOSFileSelect = uni.requireNativePlugin('YangChuan-YCiOSFileSelect');
// apple document-types 文件类型参数 https://developer.apple.com/library/archive/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html
// 文件类型参数
let params = { "document-types":["public.text","public.zip","public.data","com.adobe.pdf", "com.microsoft.word.doc","com.adobe.postscript", "com.microsoft.excel.xls","com.adobe.encapsulated- postscript", "com.microsoft.powerpoint.ppt","com.adobe.photoshop- image", "com.microsoft.word.rtf","com.microsoft.advanced- systems-format", "com.microsoft.advanced- stream-redirector"], "isBase64":0 }
iOSFileSelect.show(params, result => {
let status = parseInt(result.status);
// 状态200选取成功
if(status == 200){
let url = result.url;
uni.downloadFile({ url:url, success:function(res){
if(res.statusCode == 200){
// filePath 可用于 uni.uploadFile 上传的路径
let filePath = res.tempFilePath;
}
}
});
}});
}