iOS
一如初夏丿
这个作者很懒,什么都没留下…
展开
-
iOS15.2 注册相册变化通知未给相册权限导致崩溃 [PHPhotoLibrary.sharedPhotoLibrary registerChangeObserver:self]
iOS15.2 在app初始化时调用该方法 未给相册权限会导致app卡死 不能启动 会触发iOS 启动看门狗机制 崩溃在app已经启动后调用该方法 未给相册权限会导致页面卡死 不能使用[PHPhotoLibrary.sharedPhotoLibrary registerChangeObserver:self]iOS15.2 以前使用该通知是不需要相册权限的 15.2之后 苹果添加了应用隐私报告 添加了该方法的相册权限前提解决方案: 先请求相册权限 在获取到权限后 同时将注册该通知放到异...原创 2021-12-15 10:44:34 · 3377 阅读 · 0 评论 -
iOS app跳转微信小程序失败 报bad_param
1 首先查看 配置是否正确1.1对于已通过认证的开放平台账号,其移动应用可以跳转至任何合法的小程序,且不限制跳转的小程序数量。1.2对于未通过认证的开放平台账号,其移动应用仅可以跳转至同一开放平台账号下小程序。注意:若移动应用未上架,则最多只能跳转小程序100次/天,用于满足调试需求。2 小程序ID 是以gh_xxxx开头的- (void)openWXLaunchMiniProgram{ WXLaunchMiniProgramReq *req ...原创 2021-09-17 09:10:19 · 5795 阅读 · 0 评论 -
iOS Library not found for
解决方案1 如果报错提示三方库后面跟的有库版本号去Build settings->Linking->Other Linker Flags 看下zhe'g原创 2021-06-16 18:23:54 · 1262 阅读 · 0 评论 -
iOS 截屏 视频内容截取不到 替代方案
两种方案1 获取系统截图 截图后 监听相册发生变化通知 获取相册第一张图片展示 。优点 截图的内容不会出错 缺点需要获取读取相册的权限2 自己截图 收到系统截图通知后 自己截图 。优点是不需要权限 缺点是针对在webView上播放的视频 截取不到 只能截取到webView的背景色 因为着急上线没有细跟第一种方案#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGIN@interface RMScreenshotsS.原创 2021-03-01 18:15:46 · 688 阅读 · 2 评论 -
微信分享 每次都需要 二次跳转 正在链接
正确是用法是域名+配置文件的path。举个例子:通用链接 Universal Links域名为https://help.wechat.com配置文件:{"appID": "8P7343TG54.com.tencent.xin.SDKSample", "paths": ["/sdksample/*"]}那么在微信开放平台登记以及在openSDK传入的Universal Links正确是:https://help.wechat.com/sdksample/代码中:[WXApi ...原创 2020-09-01 09:48:00 · 3971 阅读 · 0 评论 -
分享内容到 qq 展示未识别应用
因为QQ互联将于2020年7月6日进行universal link的校验工作,如开发者没有进行适配,未适配应用分享至QQ内的消息将无法识别应用名称,提示“未识别应用”。第一步:SDK需更新至iOS 3.3.7 或以上SDK版本,详情请见SDK下载页面第二步:按苹果官网的要求,创建应用自身的UniversalLinks服务,参考UniversalLinks苹果官方文档第三步:在QQ互联官网填写及校验Universal Links,操作指引QQ互联地址:https://wi...原创 2020-09-01 09:32:13 · 1666 阅读 · 2 评论 -
iOS 修改全局 UITextFiled UITextView 光标颜色
SWIFT UITextField.appearance().tintColor = UIColor.xFB7F4 UITextView.appearance().tintColor = UIColor.xFB7F4FOC [[UITextField appearance] setTintColor:[UIColor blackColor]]; [[UITextView appearance] setTintColor:[UIColor blackColor]];原创 2020-06-24 17:15:50 · 968 阅读 · 0 评论 -
iOS 14 Beata 描述文件 相对应 真机调试包 12A8158a
链接: https://pan.baidu.com/s/1O602a6QTGkaSzdn1x1ayCA 提取码: 42qg原创 2020-06-23 09:53:07 · 2363 阅读 · 0 评论 -
修改 tableView 内容向下偏移 20 在设置 frameY = 0的情况下
if #available(iOS 11.0, *) { tableView.contentInsetAdjustmentBehavior = .never } else { automaticallyAdjustsScrollViewInsets = true } ///通过设置此属性,你可以指定view的边(上、下、左、右)延伸到整个屏幕 self.edgesForExtendedLayo..原创 2020-06-09 19:10:51 · 699 阅读 · 0 评论 -
tableView设置isPagingEnabled 使用MJRefresh 导致分页错误偏移
private let footer: MJRefreshAutoFooter = { let footer = MJRefreshAutoFooter() footer.isAutomaticallyChangeAlpha = true ///底部控件 触发刷新 footer.triggerAutomaticallyRefreshPercent = -10 return footer }() if #availab.原创 2020-06-09 18:39:59 · 1323 阅读 · 0 评论 -
iOS swift 二维码 生成和识别
https://github.com/yiruchujian/QrCodeCreationRecognition使用方式 如果只需要扫码功能 将QrCodeScanningViewController控制器拖进项目即可 如果需要 创建二维码 保存到相册 将QRCodeImageProtocol 拖进项目 遵守协议 调用 setupQRCodeImage(_ text: String, headerImage: UIImage?) 即可生成 只有两个文件...原创 2020-06-08 00:32:52 · 435 阅读 · 0 评论 -
iOS APP 第一版 马甲包 内购 上线历程
第一次被拒:Guideline 2.1 - Information NeededWe have started the review of your app, but we are not able to continue because we cannot locate the in-app purchases within your app.Next StepsTo help us ...原创 2019-10-24 10:39:52 · 2959 阅读 · 4 评论 -
iOS内购提示无效ID : .paymentInvalid
.paymentInvalid: // purchase identifier was invalid, etc.1:您是否为应用程序ID启用了应用程序内购买?2:你有没有检查过你的产品清仓?3:您是否已提交(并可选择拒绝)应用程序二进制文件?4:您的项目的.plist捆绑ID是否与您的应用ID相匹配?5:您是否为新的App ID生成并安装了新的配置文件?6:您是否已使用此...原创 2019-09-16 17:25:25 · 2752 阅读 · 0 评论 -
iOS 13 适配之路
1.就是各种私有属性的访问 一一删除替换其他方案2. 暗黑模式 文字颜色 按钮颜色 view颜色 全局修改一下 再部分微调Label Extensionfunc setTextColor(_ color: UIColor) { if #available(iOS 13.0, *) { let titleColor = UIColor(d...原创 2019-09-03 10:27:37 · 1645 阅读 · 0 评论 -
pod update --verbose --no-repo-update 和 pod install --verbose --no-repo-update的区别
当需要在CocoaPods中删除一个我们不要的库时 可以在Podfile中直接删除相关库再cd 到项目目录 执行pod update --verbose --no-repo-update 或者pod install --verbose --no-repo-update命令两者的删除时区别:pod update --verbose --no-repo-update 会在删除相关库时 更新...原创 2019-05-30 10:51:34 · 10624 阅读 · 0 评论 -
Swift-Private FilePrivate Internal Public Open Final 区别
private :只在当前类中调用 ,不能在extension中调用fileprivate:可以在当前类中调用 ,在extension和类是在同一个源文件中 也可以在extension中调用Internal: , 为默认访问级别, 允许实体被定义模块中的任意源文件访问,但不能被该模块之外的任何源文件访问。通常在定义应用程序或是框架的内部结构时使用。public: 可以在其他作用域中调用...原创 2018-03-22 15:43:48 · 291 阅读 · 0 评论 -
swift 验证码输入框在iOS9iOS10上的卡顿BUG
效果是这样的 实现就是六个UITextField 切换第一响应者来变更 光标遇到的问题问题:1在iOS9和10 的部分手机上会卡顿一开始以为是因为切换第一响应者造成的 怎么都改不好 后来发现原因是因为设置textFiled.isEnabled = false解决办法:添加一个view在textFiled上 阻止响应点击事件 很简单的解决 坑爹的是这个问题 老子找了一天 才找到是isEnabled的...原创 2018-03-22 16:07:31 · 379 阅读 · 0 评论 -
iOS App Store 链接 解析
iOS App Store 链接mac下:简介页面展示的是英文 https://itunes.apple.com/cn/app/itour/id1251790701?l=en&ls=1&mt=8简介页面展示的是中文 https://itunes.apple.com/cn/app/itour/id1251790701?l=ch&ls=1&mt=8访问不了 : h...原创 2018-03-22 16:09:17 · 1419 阅读 · 0 评论 -
计算目录大小 stat 和 fileManager
// 计算目录大小 速度稍快一点func folderSizeAtPath(_ path:String) -> Float{ let fileManager = Foundation.FileManager.default; var folderSize:Float = 0 if fileManager.fileExists(atPath: p...原创 2018-03-22 16:11:53 · 438 阅读 · 0 评论 -
swift 判断 密码 包含字母和数字 最多只有6-16位数
func isPassWord(string: String) { let allRegex:NSPredicate = NSPredicate(format: "SELF MATCHES %@", "^[\\x21-\\x7E]{6,16}$") let numberRegex:NSPredicate = NSPredicate(format: "SELF MATCHES %@...原创 2018-03-22 16:12:55 · 2220 阅读 · 0 评论 -
iOS 11 tableView 拖动cell界面闪烁的问题
使用两种逻辑实现 private func dragCell(cell:UITableViewCell?){ if #available(iOS 11.0, *) { cell?.userInteractionEnabledWhileDragging = true }else { let pan = UILongPressG...原创 2018-05-18 10:50:21 · 1364 阅读 · 0 评论 -
导入讯飞库时 遇到的问题
Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_CNContactStore", referenced from: objc-class-ref in iflyMSC(IFlyContact.o) "_OBJC_CLASS_$_CNContactFetchRequest", referenced from...原创 2018-08-13 11:43:19 · 845 阅读 · 0 评论 -
已经上架的app(可供销售)在AppStore上搜不到的解决办法
能搜索到但是是旧版本的情况:把你的app价格调为6元RMB,然后地区只选择中国.保存.这样你的app状态就会变成pending contract然后把你的app调整成免费,地区全选,保存.再等半小时左右,AppStore就可以搜到了亲测有效借鉴:https://www.jianshu.com/p/2163ac99ec9eApp在appStore上搜索不到的情况: h...原创 2018-10-12 13:59:34 · 5363 阅读 · 0 评论 -
swift unowned和weak的使用
通常的解释是,考虑到对象的生命周期,您应该在unowned和weak之间进行选择,但有时您可能仍然怀疑应该实际使用哪一个,并且想知道unowned和weak哪一个更好。众所周知,Swift利用良好的旧ARC(自动引用计数)来管理内存,因此,正如我们习惯使用Objective-C一样,我们必须通过明智地使用弱手动处理保留周期引用。如果您不熟悉ARC,则只需要知道每个引用类型实例都将具有与之关...原创 2018-10-12 16:22:15 · 4536 阅读 · 0 评论 -
iOS atomic 是如何在有效范围内安全的
atomic 是如何在有效范围内安全的 atomic 实际上就是原子操作,这个概念其实并不新鲜,早在linux系统下编程本身也是有这个东西的,所谓原子,就是不可再化分,已经是最小的操作单位(所谓操作指的是对内存的读写)网上很多地方都在讨论oc下的atomic 不安全,不能保证数据的并发性,实际上有一点误导了大家,认为atomic 本身是不安全的实际上,并非atomic 不安全,而是网上一些说...转载 2018-10-16 15:50:21 · 944 阅读 · 0 评论 -
iOS 地图绘制折线 虚线 方向箭头 高德 Google
方向箭头样式只实现了高德 google 没有实现 官方文档没有找到实现方式 有找到的请务必告诉我下 谢谢Google地图:我是创建了一个单例来实现google相关的东西这个是画线的方法这里只是画出一条线 并不是虚线 /// 画线 func addGoogleLine(mapView: T,mapLineModel:[CLLocationCoordinate2D...原创 2019-01-28 11:00:33 · 1884 阅读 · 0 评论 -
Swift/Objc的Runtime(运行时)机制
引言相信很多同学都听过运行时,但是我相信还是有很多同学不了解什么是运行时,到底在项目开发中怎么用?什么时候适合使用?想想我们的项目中,到底在哪里使用过运行时呢?还能想起来吗?另外,在面试的时候,是否经常有笔试中要求运用运行时或者在面试时面试官会问是否使用过运行时,又是如何使用的?回想自己,曾经在面试中被面试官拿运行时刁难过,也在笔试中遇到过。因此,后来就深入地学习了Runtime机制,学习里面的A...转载 2018-01-10 11:59:29 · 686 阅读 · 0 评论