Photokit保存GIF图片

最近开发的过程中遇到了需要保存GIF图片到相册的需求,网上找到的都是使用ALAssetsLibrary库的方法,iOS 9.0以后已放弃使用,推荐使用Photos库来操作。代码如下:

Read more   2020/3/12 posted in  iOS开发

[CocoaPods报错] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down

问题描述

使用pod update或者pod repo update时,出现了如下错误

Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down

一看以为是网络问题,经过检查后不是,原因是2018年2月后,弱密码标准被删除

Read more   2020/3/5 posted in  BUG记录

CocoaPods安装错误 RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 60

问题描述

执行pod update --no-repo-update时提示如下错误

Installing SPAlert 2.1.1 (was 1.0.2)

[!] Error installing SPAlert
[!] /usr/bin/git clone https://github.com/IvanVorobei/SPAlert.git /var/folders/zx/ggz348td2gzck1vdqgh6bvfr0000gn/T/d20200228-27956-10msht5 --template= --single-branch --depth 1 --branch 2.1.1

Cloning into '/var/folders/zx/ggz348td2gzck1vdqgh6bvfr0000gn/T/d20200228-27956-10msht5'...
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 60
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
Read more   2020/2/28 posted in  BUG记录

xcodebuild: error: SWIFT_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0.

问题描述

最近重构了一下自己写的LJTool这个库,在使用CocoPods 发布时遇到这个问题,执行pod lib lint LJTool.podspec提示如下错误

- NOTE  | xcodebuild:  error: SWIFT_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0. (in target 'LJTool' from project 'Pods')
Read more   2020/2/28 posted in  BUG记录

Axure RP 9注册码

Axure 9.0.0.3675版本使用

Licensee : yygg329405
专业版Key: QmNyZyXeMrJU+1yw6XiXZGenOs9R3wV7S+KS7K90yTk=

Read more   2020/2/14 posted in  MAC软件

library not found for -libstdc++.6.0.9

原因

升级到XCode10后,由于去掉陈旧的libstdc++库替换为libc++,-libstdc++.6.0.9就被删除了

Read more   2020/2/12 posted in  BUG记录

Flutter-CupertinoActionSheet的使用

在开发中,ActionSheet也是比较常用的控件,Flutter里面也提供了相应的控件CupertinoActionSheet

Read more   2019/8/7 posted in  Flutter

UILabel多行文本高度计算

多行文本高度的计算在开发过程中经常会用到,一般都是使用boundingRect(with:options:attributes:)方法来计算高度。

Read more   2019/8/6 posted in  iOS开发

Flutter扫描二维码功能开发

今天用Flutter开发扫描二维码功能,发现还是有一些坑的,整理记录一下采坑过程。

barcode_scan安装

Android设置

  1. Android相机权限许可设置
    AndroidManifest.xml 下添加权限许可和activity

    <!-- 权限许可 -->
    <uses-permission android:name="android.permission.CAMERA" />
    <!-- 添加扫描二维码的activity -->
    <activity android:name="com.apptreesoftware.barcodescan.BarcodeScannerActivity"/>
Read more   2019/7/30 posted in  Flutter

Flutter使用new和不用new有啥区别?

最近看Flutter实战文档的时候,发现有些文档在创建Wiget的时候写了new,有些又没有写,我在使用的时候都不用new好像也没出现什么问题。就去查了一下资料,总结如下:

Read more   2019/7/23 posted in  Flutter

Flutter图片分辨率适配

为了达到最佳显示,我们在开发过程中一般会在不同分辨率的屏幕上显示不同尺寸的图片。

Read more   2019/7/18 posted in  Flutter

Runtime-类对象、实例、元类

类对象(objc_class)

Objcetive-C类是由Class类型来表示的,它实际上是指向objc_class结构体的指针。

typedef struct objc_class *Class;
Read more   2019/7/1 posted in  iOS开发

iOS多线程 串行队列、并发队列以及同步执行、异步执行

关键词的理解

1. 进程

正在运行的程序被称为进程,负责程序运行的内存分配,每一个进程都有独立的虚拟内存空间

2. 线程

线程是进程中最小的执行单元,一个进程可以有多条线程,但是至少包含一条线程,被称为主线程。线程里有非常多的任务。

Read more   2019/6/26 posted in  iOS开发

iOS使用DispatchSemaphore实现串联请求

DispatchSemaphore

信号量,用来控制并发访问资源的机制,可以控制并发数量。

Read more   2019/6/25 posted in  iOS开发

iOS多个网络请求完成后执行下一步

  • 使用GCD的DispatchGroup实现

每次进入异步任务前都要调用enter方法,完成后执行leave,enterleave都是成对存在,如果enterleave次数不是一一对应,group就不会销毁。

Read more   2019/6/22 posted in  iOS开发