flutter授权,flutter 开源app

高德地图 flutter 报LocationManager:doRequireLocationAuth错误

在flutter中使用高德地图,突然报如标题的错误,一开始我以为是plist文件没有加位置授权,一检查发现权限都有,想着以前这定位都正常的,应该是改了其他地方引起定位不了的,一一对比,是我permission_handler这个插件升级了,升级后ios这边要在podfile文件下加一下权限配置

专注于为中小企业提供网站制作、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业崇义免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

target.build_configurations.eachdo |config|

# You can remove unused permissions here

# for more infomation:

# e.g. when you don't need camera permission, just add 'PERMISSION_CAMERA=0'

config.build_settings['GCC_PREPROCESSOR_DEFINITIONS']||= [

'$(inherited)',

## dart: PermissionGroup.calendar

    'PERMISSION_EVENTS=1',

## dart: PermissionGroup.reminders

    'PERMISSION_REMINDERS=1',

## dart: PermissionGroup.contacts

    'PERMISSION_CONTACTS=1',

## dart: PermissionGroup.camera

    'PERMISSION_CAMERA=1',

## dart: PermissionGroup.microphone

    'PERMISSION_MICROPHONE=1',

## dart: PermissionGroup.speech

    'PERMISSION_SPEECH_RECOGNIZER=1',

## dart: PermissionGroup.photos

    'PERMISSION_PHOTOS=1',

## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]

    'PERMISSION_LOCATION=1',

## dart: PermissionGroup.notification

    'PERMISSION_NOTIFICATIONS=1',

## dart: PermissionGroup.mediaLibrary

    'PERMISSION_MEDIA_LIBRARY=1',

## dart: PermissionGroup.sensors

    'PERMISSION_SENSORS=1',

## dart: PermissionGroup.bluetooth

#        'PERMISSION_BLUETOOTH=1',

## dart: PermissionGroup.appTrackingTransparency

    'PERMISSION_APP_TRACKING_TRANSPARENCY=1',

## dart: PermissionGroup.criticalAlerts

    'PERMISSION_CRITICAL_ALERTS=1',

]

end

Flutter真香,我用它写了个桌面版JSON解析工具

Flutter支持稳定的桌面设备开发已经一段时间了,不得不说,Flutter多平台支持的特性真的很香。我本人并没有任何桌面开发的经验,但仍然使用Flutter开发出了一个桌面版小程序,功能很简单,就是对输入的json做格式化处理和转模型。

话不多说,先来看看实际效果。 项目源码地址

开发环境如下:

Flutter : 2.8.1

Dart : 2.15.1

IDE : VSCode

JSON作为我们日常开发工作中经常要打交道的一种数据格式,它共有6种数据类型: null , num , string , object , array , bool 。我们势必对它又爱又恨。爱他因为他作为数据处理的一种格式确实非常方便简洁。但是在我们做Flutter开发中,又需要接触到json解析时,就会感觉非常棘手,因为flutter没有反射,导致json转模型这块需要手写那繁杂的映射关系。就像下面这样子。

数据量少还能接受,一旦量大,那么光手写这个解析方法都能让你怀疑人生。更何况手写还有出错的可能。好在官方有个工具**json_serializable**可以自动生成这块转换代码,也解决了flutter界json转模型的空缺。当然,业界也有专门解析json的网站,可以自动生成dart代码,使用者在生成后复制进项目中即可,也是非常方便的。

本项目以json解析为切入点,和大家一起来看下flutter是如何开发桌面应用的。

要让我们的flutter项目支持桌面设备。我们首先需要修改下flutter的设置。如下,让我们的项目支持 windows 和 macos 系统。

接下来使用 flutter create 命令创建我们的模版工程。

创建完项目后,我们就可以 run 起来了。

先来看下整体界面,界面四块,分别为功能模块、文件选择模块、输入模块、输出模块。

我们在新建一个桌面应用时,默认的模版又一个Appbar,此时应用可以用鼠标拖拽移动,放大缩小,还可以缩到很小。但是,我们一旦去掉这个导航栏,那么窗口就不能用鼠标拖动了,并且我们往往不希望用户将我们的窗口缩放的很小,这会导致页面异常,一些重要信息都展示不全。因此这里需要借助第三方组件 bitsdojo_window 。通过 bitsdojo_window ,我们可以实现窗口的定制化,拖动,最小尺寸,最大尺寸,窗口边框,窗口顶部放大、缩小、关闭的按钮等。

通过 InkWell 组件,可以捕捉到手势、鼠标、触控笔的移动和停留位置

这个功能是鼠标移动后的UI交互界面。要在窗口上显示一个提示框,可以使用 Overlay 。需要注意的是,由于在 Overlay 上的 text 的根结点不是 Material 风格的组件,因此会出现黄色的下划线。因此一定要用 Material 包一下 text 。并且你必须给创建的 OverlayEntry 一个位置,否则它将全屏显示。

读取说表拖拽的文件一开始想尝试使用 InkWell 组件,但是这个组件无法识别拖拽中的鼠标,并且也无法从中拿到文件信息。因此放弃。后来从文章《Flutter-2天写个桌面端APP》中发现一个可读取拖拽文件的组件 desktop_drop ,能满足要求。

使用开源组件 file_picker ,选完图片后的操作和拖拽选择图片后的操作一致。

Textfield 如果要显示富文本,那么需要自定义 TextEditingController 。并重写 buildTextSpan 方法。

在做导出功能时遇到下列报错,保存提示为没有权限访问对应目录下的文件。

通过Apple的开发文档找到有关权限问题的说明。其中有个授权私钥的key为 com.apple.security.files.downloads.read-write ,表示 对用户的下载文件夹的读/写访问权限 。那么,使用Xcode打开Flutter项目中的mac应用,修改工程目录下的 DebugProfile.entitlements 文件,向 entitlements 文件中添加 com.apple.security.files.downloads.read-write ,并将值设置为YES,保存后重启Flutter项目。发现已经可以向下载目录中读写文件了。

当然,这是正常操作。还有个骚操作就是关闭系统的沙盒机制。将 entitlements 文件的 App Sandbox 设置为NO。这样我们就可以访问任意路径了。当然关闭应用的沙盒也就相当于关闭了应用的防护机制,因此这个选项慎用。

原文地址:

【百度地图篇】1.Flutter+百度Sdk实现地图功能 & 百度地图显示网格问题

我是初学者小白,所以很多看法不深,理解也不够透彻。但是很适合小白们一起从低角度往高处探索。文中有错误的,感谢指正,一起进步。

趁着假期做一个Flutter的地图功能,因为后端选用了百度地图,所以前端没得挑。找了遍插件,并没有现成可用的。(不过发现了百度官方也自开发Flutter插件,目前功能只有一个获取本地位置信息,后期会继续增加吧?很期待!)

参考帖子:

这个实际上跟功能之间没太大关系,只是我按照个人摸索的过程来写。

当对一个“领域/知识块”完全不懂的时候,360°的方向都不确定的话。先了解基础概念,有利于你确定自己的摸索方向。

参考帖子:

中间我跳过了几十,上百个帖子的摸索过程。这个才是关键能够真正做事的参考。

因为百度的sdk还算是很完善的,所以一旦出问题,都会有对应的报错提示。

我是使用flutter插件:permission_handler,来解决安卓的动态授权问题,用法简单而且设计合理。

这个错误直接来看,就是签名有问题。怎么查看SHA1码和包名,这里不多说,网上有极其多的方法,百度Sdk开发指南里也有。没那么复杂,也没那么麻烦。按照流程操作就是对的。

实在不放心?跟我一样,flutter打包后,把apk反过来解SHA1码不就行了?

参考帖子:

红色框框基本就是帖子讲解的那样。

蓝色框框见下图:release标签里好像是自己设置了。所以debug标签里面,箭头指向的位置,是我多设置的一个参数。

uid: -1 appid -1 msg: httpsPost failed,IOException:Unable to resolve host "api.map.baidu.com": No address associated with hostname

这一步我是哭笑不得,一开始老是和问题(2)混淆,导致浪费很多时间。仔细阅读后,发现是不能连接到“api.map.baidu.com”。

我打开模拟器的chrome浏览器,发现不能上网。查看手机的dns是10.0.2.3(默认的),和家里wifi不一样,所以不能上网也正常,之前居然没发现这个问题!!!

终端执行:adb shell  和  getprop,就可以查看所有的属性参数了。(window小伙伴自行百度,这个没多大差别。如果你有多个设备,记得自己选好设备。)

在里面找到这一项,就是你的dns参数。有些人是net.dns1,我的是net.eth0.dns1。这个没关系,只是等下指令 稍微改动 就行。

修改dns指令:setprop net.eth0.dns1 192.168.2.1

后面的192.168.2.1是我自己的dns,这个根据自己的情况来填写。不懂的百度下怎么查看自己的dns。

虽然提示设置失败,但是回到模拟器一看,地图已经显示出来了。

嘿嘿,在flutter设定多大的区域,地图就是多大的区域。用起来就很方便了。

过程十分痛苦,因为对flutter不是很熟悉,对Android原生更是了解很少。所以自己就像突然不能讲话,被丢到一个陌生的环境,却要我去找一个人。所以细心很重要,一定要看清楚错误提示,不要错过每一个细节和可能性。

幸好最后解决了问题,开心~

其实如果你仔细阅读过百度官方的文档,会发现里面有关于 地图的生命周期管理 。然后在这里面没有提及到,这一点虽然没提,但不可或缺,小伙伴就自行思考吧。

最后还有一点,其实我的初衷是想实现一个百度地图的plugin,但是苦于能力有限,对Android的不熟悉,最后折戟。我不得已另起项目,然后重新实现地图sdk接入。经过这次对于这些有更多更全面的认知后,有空会再次研究flutter 插件的开发,共勉,奥利给!!!

Plugin发布遇坑之Google授权失败(敲重点)

授权失败:请求google授权,翻出去,登录了账号,授权了,但是终端依旧报错如下:

1.查看Http端口(mac默认为1087,Windows为1080)

2.打开终端,设置http和https代理

3.如何测试是否成功

切记不要用ping 测试,你就是Ping到明年也ping不通

4.关闭国内镜像

在装flutter环境的时候,大部分用户都是安装了国内镜像的,可以打开环境变量文件看一下不同shell环境变量设置地方不一样,我用的是zsh。

5.插件仓库根目录(最关键的一步)

这时候就会把你的插件里的lock文件中的国内镜像转到官方源上了

6.进行正常发布操作

发布命令:

理论上应该能正常发布成功了,就会看到我们期待已久的Successfully

发布完成后,国内镜像的注释可以放开了,代理去恢复到原来。

uni-app怎么进行上线?

提前申请和准备要要用的证书

用HBuilderX打正式包。

1)要在manifest.json里面配置App图标和启动图片

2)App图标尺寸:png 格式图片 256*256

启动图片尺寸:png 格式图片 480762 7201242 1080*1882

3. app上架材料梳理:

一般看个人要求,在腾讯、华为、小米各个平台上线。

每个平台都要注册开发者账号,用企业信息注册,注意开发者账号公司和软著要一致,否则华为、腾讯会让你重新按软著上的公司名称注册开发者账号。小米要提供一个代理授权书。

1)共同提交的材料:

1.公司名称

2.公司营业执照、其中百度需要营业执照复印件并且在文字的地方加盖公章。

3.企业法人身份证照片(正反两面),其中百度另外要求上传手持身份证照片(正反两面)。

4.企业对公账号,其中华为和小米打钱验证,利用金额进行验证。

5.企业地址。

2) 提交应用审核资料:

1.软著,jpg,png,pdf,3种格式。

2.企业营业执照,pg,png,pdf,种格式。

3.图标,尺寸不一致。216216 jpg 512512 jpg

4.应用内截图,多截几张,最后用测试账号截图。

5.应用简介和应用描述。

9.icp备案截图。

7.如果软著公司和开发者账号不一致,需要提供代理授权书,签字盖章。

8.隐私政策网址。

上架成功后需要在各个商城自行下载。

Flutter发布Package(Pub.dev或私有Pub仓库)

  因为我们使用Flutter跨平台技术开发App时,会有很多公用组件,因为Flutter中一切皆为Widget,widget也比较细粒度,所以我们需要进行封装,用于一个项目或者公司不同项目中去~

  那么今天写写如何发布package或者插件到Pub.dev上,扯扯谈O(∩_∩)O哈哈~

《Flutter的拨云见日》系列文章如下:

1、Flutter中指定字体(全局或者局部,自有字库或第三方)

2、Flutter发布Package(Pub.dev或私有Pub仓库)

首先,我们知道flutter有四种工程模式:Flutter Application、Flutter Module、Flutter Plugin和Flutter Package。

我们这里就主要讲Package 纯Dart插件的发布吧,都差不多。

创建工程后,就可以编写你的公共组件,或者公用字体库呀啥的, 都行。

在更改下你的pubspec.yaml文件,修改下你的versionCode,项目名称,项目描述,作者等

如果上传失败试试????的命令:

在执行该命令时,可能会中途调到网页,要求你登录google账号,登录授权,到时候登录账号并授权就可以了。

因为我们直接使用flutter packages pub publish是发布到Pub.dev上,并不是发布到私有仓库,该怎么办呢?

其实呢,也很简单!像versionCode,项目名,等都和发布Pub.dev是一样的。没啥区别。

有两种方式:

就是这么简单o( @ )o

相信大家引用Pub.dev上的第三方库都会了哈,到处都是这里不讲了

在使用flutter pub get就可以拉到私有仓库项目了

以上就差不多聊了聊package发布和获取的事儿了,都很明了,大家可以试试,挺简单的。

PS: 写文不易,觉得没有浪费你时间,请给个点赞~ ????

文章标题:flutter授权,flutter 开源app
网页地址:https://www.cdcxhl.com/article22/dsdejcc.html

成都网站建设公司_创新互联,为您提供建站公司关键词优化网站设计公司微信小程序域名注册动态网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

手机网站建设