<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[u010707262的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u010707262</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u010707262]]></copyright><item><title><![CDATA[iOS-Siri唤起银行类app (语音转账)]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/127613538</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/127613538</guid><author>u010707262</author><pubDate>Sun, 30 Oct 2022 13:41:12 +0800</pubDate><description><![CDATA[前言
最近公司App要实现下图这样一个功能，对iPhone手机喊 " 嘿，Siri，余额 ”或者  " 嘿，Siri，转账 ”  出现下面的列表，结果列表中展示我们的APP。




列表.png

百度了很久，没有找到这个是什么功能，有大佬指点我到官网查询一下，通过查阅发现官网有一个这样的文档 Adding User Interactivity with Siri Shortcuts and t...]]></description><category></category></item><item><title><![CDATA[iOS-真机调试——Unable to install "XXXDemo"]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/127613541</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/127613541</guid><author>u010707262</author><pubDate>Sat, 29 Oct 2022 22:23:58 +0800</pubDate><description><![CDATA[image.png

此类问题网上有很多解答，但是这些答案都没有解决我的问题，记录一下我解决的方案。

引起这个问题，大概有如下原因 :
1.证书选择错误、检查证书是否选择正确;

请检查工程targets-build Phases-Embed frameworks 下面第三方库有没有勾选Code sign on copy，因为有些第三方库需要用到证书;

3.添加依赖库后把Embed改成...]]></description><category></category></item><item><title><![CDATA[iOS-UIAccessibility旁白适配]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/127193152</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/127193152</guid><author>u010707262</author><pubDate>Sat, 13 Aug 2022 13:15:08 +0800</pubDate><description><![CDATA[近期在处理App适配VoiceOver(旁白)功能，简单的系统控件苹果都能很好的识别，但在复杂界面处理遇到了一些问题，VoiceOver问题可参考的资料不多，把自己踩过的坑记录如下。
首先介绍下 旁白常用的手势：

轻点：选择并朗读项目。
左右轻扫：选择下一项或上一项。
双指轻点三下：打开“项目选取器”。
三指上下轻扫：一次滚动一页。
三指左右轻扫：前往下一页或上一页(例如，在主屏幕上中)。
四指...]]></description><category></category></item><item><title><![CDATA[iOS-打包报IPA processing failed错误]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/124491479</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/124491479</guid><author>u010707262</author><pubDate>Thu, 28 Apr 2022 12:53:35 +0800</pubDate><description><![CDATA[XCode 13 打包报错：IPA processing failed，这是我们项目中遇到的问题，通过Xcode直接在手机上Run，是可以正常运行的，但是导出IPA包的时候一直提示报错，网上查阅了一番资料，基本就以下几个方案：

拼手速方案：https://blog.youkuaiyun.com/zgpeace/article/details/104693812
Rosetta方案：https://blog....]]></description><category></category></item><item><title><![CDATA[iOS-自定义悬浮TabBar]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/124268717</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/124268717</guid><author>u010707262</author><pubDate>Mon, 18 Apr 2022 12:47:38 +0800</pubDate><description><![CDATA[最近在写一个需求，自定义TabBar，自定义TabBar一般有两种方式：


① 创建一个类继承系统的UITabBar，在layoutSubviews方法中重新调整按钮的位置，再通过[self setValue:tabBar forKeyPath:@"tabBar"]方法，利用KVC设置TabBar，但是iOS 13后苹果粑粑不鼓励使用KVC；
② 创建一个继承UIView的类YBTabBar，然...]]></description><category></category></item><item><title><![CDATA[iOS-验证码显示在左边问题]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/123248924</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/123248924</guid><author>u010707262</author><pubDate>Wed, 02 Mar 2022 19:02:35 +0800</pubDate><description><![CDATA[项目中有个短信验证码功能，测出来有个验证码靠左的bug，如下图所示：




image.png

看到问题首先度娘，结果只发现如下两条回答。https://tieba.baidu.com/p/7254829838https://bbs.hupu.com/38043101.html
实际上并没有什么用，这个时候就在想是不是封装的这个输入框有问题，解决思路如下：
1.  首先用系统的UITextFi...]]></description><category></category></item><item><title><![CDATA[iOS-Fastlane从0到1配置自动打包]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/123201164</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/123201164</guid><author>u010707262</author><pubDate>Mon, 28 Feb 2022 14:43:57 +0800</pubDate><description><![CDATA[项目进入测试阶段，频繁的打包发布会耗费团队很多的时间，急需搭建一个自动化打包发布的平台，将我们从繁琐的打包发布流程中解放出来。
经调研，Fastlane可以实现一行命令实现打包工作，不需要时时等待操作下一步，节省打包的时间去做其他的事。
Fastlan安装步骤
fastlane前置准备工作：
① 安装xcode，且安装了Xcode命令行工具；
allison@bogon Desktop % xco...]]></description><category></category></item><item><title><![CDATA[iOS-UITabbar图标点击动画效果(含Lottie动画)]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/123146968</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/123146968</guid><author>u010707262</author><pubDate>Fri, 25 Feb 2022 22:19:55 +0800</pubDate><description><![CDATA[项目中，产品想实现点击底部tabbar震动效果，也没详细的效果参考，本人调研美团，飞猪，苏宁等APP，梳理了下项目中常见的底部tabbar效果，如下图所示：
效果一：



01.gif
效果二：



02.gif
效果三：



03.gif
效果四：



04.gif
效果五：



05.gif
以上五种效果都是通过iOS系统CAAnimation动画实现的，如果这几种动画均不能满足需求...]]></description><category></category></item><item><title><![CDATA[H5零基础-定位]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/122450487</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/122450487</guid><author>u010707262</author><pubDate>Tue, 11 Jan 2022 21:03:56 +0800</pubDate><description><![CDATA[定位的使用场景：




京东.png





淘宝.png

以上效果，标准流或浮动都无法快速实现，此时需要定位来实现。
定位可以让盒子自由的在某个盒子内移动位置 或 固定屏幕中某个位置，并可以压住其它盒子。
定位：将盒子定在某一个位置，所以定位也是在摆放盒子，按照定位的方式移动盒子。
定位 = 定位模式 + 边偏移
定位模式 用于指定一个元素在文档中的定位方式。边偏移则决定了钙元素的最终位置...]]></description><category></category></item><item><title><![CDATA[DHTMLET-Cascading Style Sheet 2.0 中文手册]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/122391083</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/122391083</guid><author>u010707262</author><pubDate>Sun, 09 Jan 2022 09:28:16 +0800</pubDate><description><![CDATA[image.png

下载地址1 百度云盘：链接: https://pan.baidu.com/s/1M_NqPopMMTt7tuuktT9N1g 提取码: tqof
下载地址2 GitHub：DHTMLET-Cascading Style Sheet 2.0 中文手册
下载地址3 优快云：DHTMLET-Cascading Style Sheet 2.0 中文手册
...]]></description><category></category></item><item><title><![CDATA[H5零基础-Emment语法]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/122377508</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/122377508</guid><author>u010707262</author><pubDate>Sat, 08 Jan 2022 10:30:20 +0800</pubDate><description><![CDATA[Emment语法的前身是Zen coding，它使用缩写，来提高html/css的编写速度，vscode内部已经集成该语法。

① 快速生成HTML结构语法
② 快速生成CSS样式语法

一、 快速生成HTML结构语法
1.生成标签直接输入标签名按Tab键即可，比如div，然后Tab键盘，就可以生成 &lt;div&gt;&lt;/div&gt;;
&lt;!-- 输入div, 按Tab键 --&...]]></description><category></category></item><item><title><![CDATA[iOS-KVC/KVO常见面试题]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/121870386</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/121870386</guid><author>u010707262</author><pubDate>Fri, 10 Dec 2021 14:10:48 +0800</pubDate><description><![CDATA[iOS面试中，KVC、KVO是经常涉及到的一个面试点，下面来总结一下常见的面试题类型。
一、 KVO

1.KVO的本质是什么？详细介绍

核心点：添加KVO对象的isa是NSKVONotifying对象，它是通过OC的Runtime机制，在程序动态运行的时候添加的，它有自己的setXxx方法，会执行Foundation框架里面的_NSSetIntValueAndNotify方法。
2.如何手动触...]]></description><category></category></item><item><title><![CDATA[iOS - KVC中 forKey 和 forKeyPath区别]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/121851705</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/121851705</guid><author>u010707262</author><pubDate>Thu, 09 Dec 2021 21:45:33 +0800</pubDate><description><![CDATA[KVC全称是Key-Value Code，俗称键值对，可以通过一个key来访问某个属性。

常见的API有
设置属性值：setValue:&lt;#(nullable id)#&gt; forKey:&lt;#(nonnull NSString *)#&gt;setValue:&lt;#(nullable id)#&gt; forKeyPath:&lt;#(nonnull NSString *)...]]></description><category></category></item><item><title><![CDATA[GitHub提交代码报错: Support for password authentication was removed on August 13, 2021. Please use a pe......]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/121786645</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/121786645</guid><author>u010707262</author><pubDate>Tue, 07 Dec 2021 17:26:24 +0800</pubDate><description><![CDATA[今天提交代码，push到GitHub上，突然出现这个问题。 Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.

具体如下：




image.png

大概意思就是你原先的密码凭证从2021年8月13日开始就不能用了，必须使...]]></description><category></category></item><item><title><![CDATA[iOS WKWebview与JS交互]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/121786647</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/121786647</guid><author>u010707262</author><pubDate>Tue, 07 Dec 2021 14:47:44 +0800</pubDate><description><![CDATA[在APP开发中，调用H5极验功能涉及到原生与JS 交互，我用的是系统原生的方式实现，下面记录下实现步骤。
(仅涉及iOS端工作流程记录)
【OC版本:】
@interface ViewController ()&lt;WKUIDelegate,WKNavigationDelegate,WKScriptMessageHandler&gt;
@property(nonatomic, strong)WK...]]></description><category></category></item><item><title><![CDATA[iOS- SDK开发注意事项记录]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/121764430</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/121764430</guid><author>u010707262</author><pubDate>Mon, 06 Dec 2021 17:46:34 +0800</pubDate><description><![CDATA[因公司业务要求，需要开发一款广告SDK，自己之前未涉及到SDK开发，所以一路踩坑记录如下：

【 前言 】

1、清晰解决的问题和要求
一般而言，一个SDK必然有其深刻的业务背景；对SDK要解决的问题和SDK的特殊要求，了解地越详细越好；
常见的要求有：

禁止采集用户敏感信息【安全方面】
核心代码必须混淆【安全方面】
不可以有调试日志，不可以监控上报【安全方面】
持久化的敏感数据要加密；【安全...]]></description><category></category></item><item><title><![CDATA[swift5基本语法-Self 与self]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/121672813</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/121672813</guid><author>u010707262</author><pubDate>Thu, 02 Dec 2021 10:01:26 +0800</pubDate><description><![CDATA[在swift 开发过程中，尤其是第三方库中，我们经常可以看到Self，但是Self与self，它们两个是不一样的，下面我们通过示例来对比下两者的区别。
相信大家都知道self这个关键字的具体作用，它跟OC里的self基本一样，但是Self关键字只能用在类里， 作为函数返回值类型， 表示当前类，限定返回值跟方法调用者必须是同一类型，在定义协议的时候Self用的频率很高，而且当你用错Self的时候编译...]]></description><category></category></item><item><title><![CDATA[iOS-Swift中Date -VS- Objective-C NSDate]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/121574178</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/121574178</guid><author>u010707262</author><pubDate>Fri, 26 Nov 2021 17:50:47 +0800</pubDate><description><![CDATA[最近Swift项目开发中，涉及到了日期时间的处理，需求是这样的，需要把一个日期格式类型的字符串，转换为Date类型，但是转换完发现和OC中处理的结果不太一样，具体如下所示：
先来看下OC版本的代码：
@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additio...]]></description><category></category></item><item><title><![CDATA[swift5基本语法-泛型函数和泛型类型]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/120948691</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/120948691</guid><author>u010707262</author><pubDate>Sun, 24 Oct 2021 12:32:12 +0800</pubDate><description><![CDATA[Swift中泛型可以将类型参数化，提高代码复用率，减少代码量。

一、泛型函数
【 例 】
class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        var a = 10
        var b = 20
        swap...]]></description><category></category></item><item><title><![CDATA[swift5基本语法-Error错误处理/异常处理]]></title><link>https://blog.youkuaiyun.com/u010707262/article/details/120484506</link><guid>https://blog.youkuaiyun.com/u010707262/article/details/120484506</guid><author>u010707262</author><pubDate>Sat, 25 Sep 2021 22:18:13 +0800</pubDate><description><![CDATA[Swift中可以通过Error协议自定义错误信息
例如下面这种错误场景：




01.png

可以通过自定义Error错误信息来抛出异常，Error信息可以定义为类、枚举、结构体三种形式，用法如下所示：
class ClassError: Error {
    var msg : String
    init(msg: String) {
        self.msg = msg
  ...]]></description><category></category></item></channel></rss>