更新记录

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设置就好了

查看更多

平台兼容性

Android iOS
× 适用版本区间:9 - 14

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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; 

                    } 
                } 
            }); 
        }}); 
}

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

作者未提供license.md

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问