iOS开发之坑1
发表于|更新于
|浏览量:
iOS开发之坑1
iOS 10 之后,switch的setOn方法调用之后,并没有按照文档上说的不发送action
https://stackoverflow.com/questions/39566361/uiswitch-seton-animated-does-not-work-as-document
遇到个诡异的问题,同样的创建view,然而在偶数列显示模糊,在奇数列正常
文章作者: 今是昨非
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2021-07-20
iOS 键盘删除键响应
iOS 键盘删除键响应背景背景是,实现一个分享到微信,多选加输入框,点击键盘删除键,删除多选选中对象的东西。 实现由于UITextField没有删除键的代理,所以笔者最开始的想法是,通过textField:shouldChangeCharactersInRange:replacementString:来实现监听,当当前字符串为空且要替换字符串为空时,说明是点击的删除按钮,通过Block方法回掉出去,代码如下: 12345678910- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if ((textField.text.length == 0) && (string.length == 0)) { if (self.deleteBackwardBlock) { self.deleteBa...
2023-07-14
iPA重签名 + 香色闺阁、微信重签名实战
背景换手机之后,原来的香色闺阁不能下载,转移的时候就丢失了。又最近看到有人截屏iPhone上装了两个微信,一个是自己重签名的;想到自己有开发者账号,但是还没试过重签名APP,是不是可以通过重签名来安装香色闺阁,以及实现多开微信? 步骤说干就干,首先从简单的开始,先来尝试重签名香色闺阁,再尝试微信,因为香色闺阁的包内容比微信的少很多,文件容易找,相对简单,步骤如下: 重签名香色闺阁首先从网上搜素下载香色闺阁的 ipa 包,没有的可以从这里yuedu.ipa下载。 然后将 ipa 改为 zip,然后解压,会出现一个 Payload 文件夹,里面有一个StandarReader.app的文件。选中StandarReader.app,右键显示包内容,可以看到APP包中的所有内容,如下图: 重签名就是用自己的账号新建一个APP(bundleID自己定义),运行到手机上,找到运行的包(xxx/DriveData/xxx/Build/Products/Debug-iphoneos/xxx.app)或者通过打包的方式,使用AdHoc方式生成一个iPA(用于获取到描述文件和Entitle...
2022-04-24
Algorithem_Matrix
Algorithem_Matrix题目Given an m x n binary matrix mat, return the distance of the nearest 0 for each cell. The distance between two adjacent cells is 1. Example 1: 12Input: mat = [[0,0,0],[0,1,0],[0,0,0]]Output: [[0,0,0],[0,1,0],[0,0,0]] Example 2: 12Input: mat = [[0,0,0],[0,1,0],[1,1,1]]Output: [[0,0,0],[0,1,0],[1,2,1]] 解法
2018-12-11
在Swift中使用error来控制流程
此文是翻译原文链接:Using errors as control flow in Swift app和项目里管理控制流会对代码的执行速度,代码的调试复杂度有重大的影响。代码的控制流本质上是函数和声明的执行顺序,及代码执行路径。 尽管Swift提供了很多工具定义控制流——例如if, else, while 及 optional;这周,我们来看一下,如何通过Swift编译时错误来抛出和处理model,来让控制流程更容易管理。 抛出可空的值可选值,作为Swift的重要特征,处理空的数据时可被合法的忽略;它也经常被用作给定函数的来源样板在控制流程中。 下面,重写了从app中bundle加载、调整图片的方法。由于每一步操作都返回了可空的图片,不得不写多个guard语句,告诉函数哪里可以退出: 12345678910111213func loadImage(named name: String, tintedWith color: UIColor, resizedTo size: CGSize) -> UIIma...
2022-12-06
部网络货运信息交互系统位置信息插件SDK接入总结
背景APP接入部网络货运信息交互平台,这里记录一下接入想法和过程。 实现iOS SDK提供的方法,共有下面6个 init start send pause restart stop 看起来很简单,但是需要考虑SDK某个方法可能会失败,而且可能会有同一个司机多个托运单、或者同一托运单分段多个司机运输以及托运过程中换车、司机运输中换手机等场景,想要持续记录位置信息,完成完整的一个单据链路就不那么容易了。 而这些场景的处理,需要服务端的协助,但是服务端没有和部网络货运信息平台直接交互的接口,无法直接从货运信息平台读取状态和数据,所以处理就显得麻烦了。 我们的设想是,服务端兜底处理异常,所以,首先要让服务端知道当前处理的单据和步骤,故而需要一个记录接口,每次执行SDK的方法后,成功或失败都同步给服务端。 为了避免出现其他手机或其他用户或后台手动关闭单子的情况,需要服务端提供另一个查询是否有待结束运单的接口,同样,这个接口在每次执行SDK的方法后,都要调用,用于获取是否有待关闭的运单。 而还有一种情况,即用户开始运单后,APP被杀掉了再次打开时,这时候应该执行SDK的什么方法?或者...
2023-06-28
Xcode15 小组件兼容
背景 升级到 Xcode15 后,运行小组件,会出现WIDGET_BACKGROUND_API_ADOPTION_PROMPT的提示,如下图: 解决创建View_Extensions.swift,代码如下: 12345678910111213import SwiftUIextension View { @ViewBuilder func adoptableWidgetBackground(_ color: Color) -> some View { if #available(iOS 17.0, *) { containerBackground(for: .widget) { color } } else { background(color) } }} 然后在XXXLineProvider中,找到 ZZZ_WidgetEntryView: View,修改如下: 1...
公告
This is my Blog