自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wenbin

app dev

  • 博客(58)
  • 收藏
  • 关注

原创 个人博客迁移

博客迁移至wenbin所有平台不再增加新文章

2021-11-25 11:06:26 126

原创 「Android」解决MMKV在Android 11 中的一个奇葩问题

今天偶然发现在Android 11 中MMKV有个奇葩问题:没有报错权限相关问题,但是读取不到内容,比如登录状态等信息,使用的是1.2.2版本解决方法在 Manifest 中添加 <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />升级 MMKV版本(当前最新1.2.7) 就解决了…[捂脸]...

2021-03-19 17:53:52 1487

原创 「iOS」Dark Mode 实现方案

Dark Mode 在iOS 13出现,已经两年了,没有做适配的同学,可以参考本文章,实现切换方案⚠️注意:Dark Mode 从iOS13开始才有,所以需要展示的地方需要增加判断 if #available(iOS 13.0, *)????下面开始具体讲述方案步骤:一、实现要点概述通过 Notification 进行传参使用 UserDefault 或 MMKV 等存储当前选择的模式配置 颜色 的自动切换最终的切换操作都在 AppDelegate 中做处理二、实现步骤1. 配置

2021-03-05 11:13:03 438 2

原创 「iOS」UITableView.Style.insetGrouped样式 及 代码实现圆角cell 方案

网上很少搜到 insetGrouped 的样式和用法,结合自己的项目,大概阐述一下用法,最下方包含自己实现的源码升级iOS版本后,细心的小伙伴发现了自带的 备忘录 app的列表样式发生了更改,圆角cell算是现在比较新潮的设计,本文主要讲一下系统的实现方案和自己用代码的实现方案。一、系统实现方案1. insetGrouped用法很简单,用 xib 或代码方式初始化tableView时选择Style为 insetGrouped ,样式如下:⚠️注意点:必须选择 insetGrouped 样.

2021-03-04 17:32:46 3145 1

原创 「Android」应用内升级,适配6.0及以上,附源码

应用内升级主要分为两部分:下载和安装,以下按照这两部分开始讲述,文章最后会附上全代码。文中部分xxx需要替换成对应的包名或apk名称1. 权限配置 AndroidManifest.xml权限请求<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /><uses-permission android:name="android.permission.ACCESS_DOWNLO.

2021-03-01 15:34:29 2501 8

原创 「Android」各平台上架网址和心得

上传iOS应用只需在App Store上传一次即可,国内安卓商店众多,这篇文章主要阐述主要的几个平台上架的心得并附网址。华为华为开放平台优点:界面做的最像App Store Connect,使用起来没有什么障碍。保存的信息没有丢失过。审核速度比较快,不到24小时就会处理完。缺点:一些文档有时打不开,需要的资质要求较多,需要提前准备(例如软著、ICP备案和一些特殊分类资质)小米小米开放平台优点:绑定邮件后,邮件通知及时。界面做的简单,一个页面从上到下就可以填写完成,不需.

2020-12-11 09:09:53 923

原创 「iOS」[!] Unable to find a pod with name, author, summary, or description matching

执行 pod setup,然后继续执行 pod search。如果还是搜索不到,执行 rm ~/Library/Caches/CocoaPods/search_index.json继续 pod search,等待一会完成后就能搜索到了

2020-11-18 11:27:53 449

原创 「iOS & Android」WebView获取图片、点击图片

获取思路:注入JS代码获取 ‘img’ 图片,拼接成字符串返回,然后分割字符串得到每个图片的url注入JS代码获取图片的点击事件iOSiOS使用WKWebView// MARK:- WKNavigationDelegatefunc webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { // 注入JS代码获取图片url和个数 self.webView.evaluateJavaScript(""".

2020-11-12 14:40:44 554

原创 「iOS」Xcode运行高版本iOS真机

在开发中,测试机升级了最新系统后,如果没有更新Xcode可能运行不起来,或还没有正式版Xcode更新,这时真机调试就执行不了,解决办法如下。Step 1 网上下载一个对应iOS版本真机调试文件解压后里面有两个文件,格式如下:Step 2点击Finder,cmd+shift+g输入路径/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/重启Xcode,连接测试机运行如果运行.

2020-11-09 11:58:30 1512

原创 「Swift」常用框架汇总 (持续更新~)

日期、日历相关DateScrollPickerHorizonCalendarCVCalendarJTAppleCalendarEmptyView占位图TBEmptyDataSetEmptyDataSet-SwiftHGPlaceholdersSkeletonView 正在加载时占位图动画Popover弹框选择McPickerPopoverEasyTipViewInstructions##导航栏管理和样式StylableNavigationBarTabBar管理和样式PTC

2020-11-05 16:30:40 3479

原创 「iOS」App Store Connect上误点了添加其他平台App后,删除办法

有时候手贱点了“添加macOS App”或是“Apple tvOS App”后,不知道怎么删除,也找不到删除的地方,以此贴记录一下。参考:App Store Connect Help需要在其他平台上有一个可以编辑的版本,比如状态是“准备提交”的,并创建鼠标悬停在误点的版本上,右侧会显示红色删除标志,点击删除即可...

2020-11-05 09:37:30 2027

原创 「Android」快速删除无用的import

删除单个文件的无效import左边列表选中目标文件导航栏点击 Code -> Optimize Imports即可删除所有文件的无效import左边列表选中 app文件夹导航栏点击 Code -> Optimize Imports即可

2020-10-14 10:22:16 262

原创 「Android」通过URL预览PDF文件实现

最近碰到一个问题,后端返回一个阿里云OSS的PDF链接,但是Android的webView不像iOS可以直接预览,网上查了几个解决方案试了试,都不是很理想,网上的实现方案:集成OSS腾讯TBSGoogle在线预览服务URL拼接pdf.js实现URL拼接PdfViewer开源库PdfViewPager开源库。。。试了好几个,没有非常满意的,所以考虑用开源库解决吧,最后看了 PdfViewPager 已经好几年不维护了,遂决定用 AndroidPdfViewer,但是这个库有两个问题:不

2020-09-17 14:04:00 1144

原创 「Android」ConstraintLayout 布局和 View.GONE 隐藏视图的注意点

在开发中,会遇到item布局中动态显示数据,没有数据的就隐藏,如果用 ConstraintLayout 布局可能会有约束问题。废话不多说,直接上图更直接:介绍布局 (从上到下,从左至右)「一定不隐藏TV」左、右、上约束「可能会隐藏1 TV」左、右根据上面的TV布局,上约束10dp「可能会隐藏2 TV」左、右根据上面的TV布局,上、下约束10dp看起来没什么问题,但是实际在adapter中如果「可能会隐藏1 」没有数据希望隐藏,如果用 View.INVISIBLE 没什么问题,但是中间会空.

2020-09-16 10:48:46 3371 3

原创 「Android」解决Android 10 全面屏底部小横条的颜色问题

底部小横条有没有统一叫法…目前看叫 Navigation Bar前言没有适配时,运行以后发现底部被系统占用了,开始以为是跟ios一样需要对页面进行适配,后来仔细看发现两点问题:底部左右是带弧度的,证明页面应该没问题,只是被黑色覆盖了。仔细看黑色的小横条位置可以看到下面的白色页面,证明应该是颜色问题。解决方案在 styles.xml里加入如下代码,设置 navigation bar 颜色为透明即可<item name="android:navigationBarColor"&gt.

2020-08-10 09:11:37 12469 3

原创 「Android」设置Item点击效果

基本上和设置其他空间的点击效果差不多新建 drawable 文件,选择 selector<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" > <shape> &lt.

2020-08-06 14:19:27 505

原创 「Android」 模拟器不能联网

【已解决】先把模拟器关闭方法一 (推荐)Mac打开设置 -> 网络 -> 选择WiFi或以太网 -> 高级 -> TCP/IP -> 配置IPV6改为仅本地链接优点:如果网络出问题可以随时更改回来方法二/Users/marvel/Library/Android/sdk/emulator 打开终端执行 emulator @Pixel_XL_API_23 -dns-server 8.8.8.8,114.114.114.114缺点:终端不能关闭不能直接从 A

2020-08-05 15:33:44 233

原创 「Android」SearchView点击没有反应

开发中,遇到在导航栏上添加 SearchView时,只有点击????图标才能弹出软键盘,点击其他区域不响应的问题监听 searchView 的点击事件 OnClickListenersearchView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 弹出软键盘 searchView.setIconified(false); // 切换 Fragme

2020-08-03 17:30:15 1164

原创 「Android」菜单栏背景色设置

getWindow().setStatusBarColor(getResources().getColor(R.color.colorTint));

2020-08-03 17:26:03 675

原创 「Android开发」Activity常用跳转动画2种

一、类似iOS右进右出rightIn_enter<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="100%" android:toXDelta="0" android:duration="300"

2020-07-24 15:17:22 270

原创 【Swift】WKWebView获取选中文本

使用WKWebView时选中文本弹出UIMenuController,在开发中会自定义menu,但是自定义的menu无法通过系统api获取到选中文本,并且WKWebView抛弃了UIWebView的 stringByEvaluatingJavaScriptFromString 方法,只用一行代码就能实现。解决方案在自定义menu的action实现里进行操作self.webView.evaluateJavaScript("window.getSelection().toString()") { (res

2020-07-22 09:42:29 729

原创 【记录】 Mac安装Flutter环境并运行

此帖记录小白从0安装 Flutter 到运行成功的过程安装参考 Flutter 官网,推荐还是用英文官网,大概也能看懂,中文网站看的有点迷糊… Flutter官网先打开 Android Studio 安装好 Flutter 插件打开终端,随便选个位置,我选了User的根目录下,也就是打开终端的默认位置输入:git clone https://github.com/flutter/flutter.git -b stable --depth 1 克隆最新稳定版,速度慢的话挂代理,参考 .

2020-07-16 16:11:10 213

原创 Github迁移Gitlab 失败 The repository for this project is empty

解决办法找到仓库的 Rename repository -> Path在后面随便加几个字母,改变 Path 路径,然后保存再改回原先的,回到 Project 首页刷新页面即可

2020-07-16 10:27:53 2441 2

原创 Xcode自动配置证书管理配置文件的Devices

项目使用自动配置时自动生成的配置文件在开发者网站上是看不见的,需要内测添加设备时不方便,本文有个简便的方法一分钟搞定!第一步获取到设备的udid,我这里用的是蒲公英平台第二步打开Apple Developer官网导入设备第三步打开Xcode -> target -> Signing&Capability -> Provision Profile -> 点击右边的感叹号在弹出页面的左上角拖动图标到桌面,复制文件的全名(包括后缀)打开 Finder,cmd+.

2020-07-10 11:03:44 1471

原创 Swift 查看项目代码行数

终端cd到工程目录下,如果想看除了Pod以外的代码行数,就再cd到自己的项目文件夹内,在终端输入:find . -name "*.swift" -or -name "*.xib" | xargs grep -v "^$" | wc -l这是除去空行的代码行数,如果想统计包括空行的把 grep -v "^$" | 删除同理,想统计OC代码就把name里的替换...

2020-07-02 11:30:29 439

原创 iOS 12 使用UISearchController点击搜索框崩溃 _searchController]: unrecognized selector sent to instance

在项目中使用了UISearchController,设置导航栏的titleView为searchBar,无意中发现在iOS11和iOS12点击搜索框会崩溃。崩溃原因报 unrecognized selector sent to instance 错的原因一般是对象被提前释放,但是我查了控制器所有的引用,没有发现提前释放,并且这报的错是searchController,所以我查了代码,发现一点可疑的地方:// 需要设置searchTextField的样式和监听方法的地方,iOS13以下使用KVO取到.

2020-07-02 09:27:25 789

原创 [Swift5] Swift 设置自定义预编译宏

在开发中经常用 target 区分正式、测试环境,用到自定义的预编译宏来判断,OC中可以在 target 的 Preprocessor Macros 里设置,Swift 则不同。Swift设置预编译宏本文以自定义 TEST 为例选中 target —> Build Settings —> 搜索 Swift Compiler - Custom Flags展开 Active Compilation Conditions 进行设置,只能这样写:TEST, 不能像OC一样设置TEST=.

2020-05-29 16:27:30 1297

原创 iOS 查看App是否包含idfa

苹果对idfa的管理很严格,有时没有用到idfa,但是一些sdk里用到了,上架如果没有选择会被拒cd 到工程目录下grep -r advertisingIdentifier . 就可以查看到用idfa的框架了温馨提示:如果用到友盟或其他sdk,可以耐心读一下接入文档,一般在下面会说明上架的注意事项...

2020-05-26 17:32:44 461

原创 [Swift5]自定义UITableViewCell左滑操作,适配iOS11 ~ iOS13

tableView左滑是开发中常见的操作方式,之前一直用 MGSwipeTableCell如果您有以下问题:iOS11下自定义按钮图片不显示iOS12下图片为白色,改不了颜色想用系统原生的方案解决问题那您就继续往下看iOS 11 新增了两个方法,个人觉得比原先的方法好用多了,不用手动控制 tableView 的 edit,当滑动时会自动开启// Swipe actions// These methods supersede -editActionsForRowAtIndexPath:.

2020-05-21 16:56:40 1175

原创 [Swfit 5] 设置UITableViewCell和Section的圆角和边距

此文是按照原文整理直接拷贝代码使用原文出处原文出处此方法针对没有头尾的情况,如果带有头尾请查看原作者另一篇文章带有头尾的section圆角开发中常用到cell两边带有边距和圆角,如果section里有多个cell,直接设置圆角会出问题,此文把两种情况总结为一个方法,在 cellForRow 或 willDisplayCell 方法里直接调用即可private func setCornerRadiusForSectionCell(cell: UITableViewCell, indexPath:.

2020-05-19 16:58:39 874

原创 [Swift5]UISearchController的searchBar导致导航栏高度变化

久闻UISearchController的bug奇多,没想多也被我碰上了发现问题把 UISearchController 的 searchBar 赋值到控制器A的导航栏的titleView上,在push到控制器B时view往下移动了11,在pop回来的时候控制器A的view又往上移动了11,查了文档,iOS11以后就改动了,但是官方也没说解决办法…网上的办法设置searchBar时使用navigationItem.titleView = searchBar ❌searchVC.search.

2020-05-14 13:48:55 849

原创 【已解决】Swift 隐藏tabBar后下方的button不可点击

项目中用到UISearchController,点击后需要显示SearchResultController,并且把tabBar隐藏,做完后发现即使tabBar隐藏了,原先位置下的button不可点击。网上的帖子都在复制粘贴,实在是效率太低,并且没什么作用,所以只能自己琢磨了。嫌麻烦的兄弟可以直接看下方的 解决办法前言网上隐藏tabBar的方法大致总结为:修改frame、移动位置、设置alpha和直接设置hidden,这些方法都可以隐藏,但是都不可点击下方的控件。发现问题而不可点击控件的原因大致.

2020-05-13 09:57:06 458

原创 UISearchController 基本配置 2020年配置iOS13 以及 DarkMode

Apple提供的UISearchController提供了方便的使用,但是设置一些属性和UI样式时很头疼,本文总结了部分配置供大家参考。初始化// 如果设置 searchResultsController 为nil,则搜索结果和历史记录等信息在当前页面处理,推荐传入一个自定义的Controller,可以方便解耦let searchVC = WBSearchViewController(searchResultsController: mySearchResultController设置代理/.

2020-05-12 11:49:51 360

原创 MacOS Catalina安装CocoaPods时遇到rvm安装报错curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection

按照网上的安装方法,在执行第一步的时候果断报错 curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connectioncurl -L get.rvm.io | bash -s stable source ~/.bashrcsource ~/.bash_profile本文涉及的Vim操作请参考 Vim 基础操作相似文章还有 M...

2020-04-29 16:23:44 3589 6

原创 MacOS Catalina安装homebrew(已解决)

网上几乎所有的方法都试过了,更改成http,或是ruby安装都试过了,还是不行,偶然发现这个办法可以,记录一下,希望能帮到有需要的朋友。准备工作代理 最好挂全局代理终端挂代理 参考 CocoaPods1.8.0 之后烦人的trunk 下方挂代理方法打开 Homebrew官网 复制https的链接用浏览器打开,如果能打开说明代理没问题。cmd+A复制全文打开终端输入 cd Desk...

2020-04-29 15:53:24 1135

原创 CocoaPods1.8.0 之后烦人的trunk

升级到目前1.9.1的版本后发现执行 pod install 的时候会自动添加trunk,烦人的是用终端不挂代理的情况下还连接不上服务器,更烦人的是还把master删了…所以只能恢复了本文前提是已经安装过CocoaPods的前提下删除 trunk// 查看repo listpod repo list// 如果有trunk源就删除pod repo remove trunk// ...

2020-04-28 14:54:28 2417

原创 Xcode Preferences 添加自定义字体 JetBrains Mono

微博 可以来互粉据说 JetBrains Mono 是最适合程序员的字体之一。本文以 JetBrains Mono 为例,其它字体的添加方法大同小异。一、下载字体JetBrains Mono官网首页下载或查看各个平台的安装方法Mac平台使用 .ttf 后缀的文件二、安装字体Bold -> 加粗Italic -> 斜体Regular -> 常规Med...

2020-04-01 21:30:37 478

原创 Mac 添加ssh

[] 内容全部替换,包括[]本身创建ssh创建ssh公钥和私钥ssh-keygen -t rsa -C [your_mail]打开 id_rsa.pub 复制全部内容到 GitLab / Github测试是否连接成功ssh -T [gitlab地址]保存到keychain,达到永久保存的目的ssh-add -K ~/.ssh/id_rsasourceTree...

2019-09-12 17:53:04 677

原创 AFNetworking 重定向后导致401

使用AFN请求时设置basic认证,但是url被重定向,导致返回failure 401解决办法 // 此方法会在manager请求方法回调前调用 [manager setTaskWillPerformHTTPRedirectionBlock:^NSURLRequest * _Nullable(NSURLSession * _Nonnull session, NSURLSession...

2019-08-13 14:12:19 698

原创 OC copy和mutableCopy

基本概念浅拷贝:地址拷贝,两个对象指向同一地址。深拷贝:对象拷贝,两个对象指向不同地址。copy & mutableCopycopymutableCopy不可变对象浅拷贝 不可变深拷贝 可变可变对象深拷贝 不可变深拷贝 可变总结:用copy后都是不可变的,用mutableCopy后都是可变的。用mutableCopy都是深拷贝。区别...

2019-08-06 16:31:09 248

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除