随笔分类 -  iOS

摘要:起因 用户群反馈app可能请求了不合适的定位权限:始终定位。 看到这个截图,根据经验判断可能是后台定位功能导致可能不得不请求始终定位权限。再加上之前提交审核时,苹果要求在plist文件中新增NSLocationAlwaysAndWhenInUseUsageDescription和NSLocation 阅读全文
posted @ 2020-01-03 08:58 Dast1 阅读(1766) 评论(0) 推荐(1)
摘要:背景 之前有写一篇实现方式比较简单的随笔用launchscreen.storyboard适配启动图方法,顺便在评论区提了一下用autolayout适配启动图的思路,现把思路和流程记录下来。 思路 整体思路:打破启动图一定是一张固定图的思维定势,把启动图当做普通页面去适配。用UIView做容器,在里面 阅读全文
posted @ 2019-12-09 20:26 Dast1 阅读(6287) 评论(0) 推荐(1)
摘要:本文基于 https://www.cnblogs.com/dabaomo/p/9634727.html 声明 坚决拥护党的领导,本文章所用技术乃出于工作需要,敬请谅解。 正文 可以先过去快速浏览一遍再回头看本文章。上文有一处配置需要注意和容易迷惑的地方。在这里踩坑花了一下午。。。 即:要注意自己使用 阅读全文
posted @ 2019-10-16 09:04 Dast1 阅读(1585) 评论(0) 推荐(0)
摘要:更新 如果UI愿意把启动图切割成n份,按一定约束在launchscreen.storyboard中进行排版,启动图效果会更好。 详见随笔:用launchscreen.storyboard适配启动图方法(二) “使用 Xcode storyboard(故事板) 来提供 app 的启动屏幕”的要求已延期 阅读全文
posted @ 2019-10-12 14:22 Dast1 阅读(25544) 评论(13) 推荐(2)
摘要:现象: iOS13黑暗模式开启后,app显示会出现很多意外显示情况。暂时屏蔽是最好的选择。当开启黑暗模式,且在项目的target对应的info.plist中添加以下设置时(禁用黑暗模式): <key>UIUserInterfaceStyle</key> <string>Light</string> 阅读全文
posted @ 2019-10-10 08:10 Dast1 阅读(3843) 评论(0) 推荐(1)
摘要:用途 在多线程访问可变变量时,是非线程安全的。可能导致程序崩溃。此时,可以通过使用信号量(semaphore)技术,保证多线程处理某段代码时,后面线程等待前面线程执行,保证了多线程的安全性。使用方法记两个就行了,一个是wait(dispatch_semaphore_wait),一个是signal(d 阅读全文
posted @ 2019-08-22 00:26 Dast1 阅读(427) 评论(0) 推荐(0)
摘要:iOS墨卡托和GPS坐标计算距离时误差测试,测试结果: 墨卡托和gps坐标来回转换没有误差。 墨卡托坐标计算出的距离比gps坐标计算出的距离大,100/92*100 = 108米,每100米多算出8米。 故随着导航距离缩短,误差会逐渐变小。 log 25.780135+0800 gps_mktDis 阅读全文
posted @ 2019-07-30 21:07 Dast1 阅读(1794) 评论(0) 推荐(0)
摘要:// // ViewController.m // paintCodeTestOC //gif // Created by LongMa on 2019/7/25. // #import "ViewController.h" @interface ViewController () @propert 阅读全文
posted @ 2019-07-25 11:58 Dast1 阅读(333) 评论(0) 推荐(0)
摘要:结论: alloc负责分配内存和创建对象对应的isa指针; init只是返回alloc生成的对象。 所以alloc后,多次调用init,返回的对象是同一个! 代码如下: 1 // 2 // main.m 3 // alloc.initTest 4 // 5 // Created by LongMa 阅读全文
posted @ 2019-05-30 09:36 Dast1 阅读(216) 评论(0) 推荐(0)
摘要:参考资料: https://www.jianshu.com/p/734341f7c242 https://www.jianshu.com/p/55038871e7de 两天时间探索,期间不知道遇到了多少问题,各种google和Stack Overflow,甚至都求助了群友的力量。期间也想过放弃,还好 阅读全文
posted @ 2019-05-23 20:55 Dast1 阅读(1199) 评论(0) 推荐(0)
摘要:最近在看一本书《Effective OC 2.0》,今天看到有个tip是OC适中循环各自优劣性,作者最终推荐此块循环。 阅读时思考了下块循环是否方便实现内部循环终止外部循环的问题。 于是做了如下验证,代码如下: 1 // 2 // main.m 3 // 块循环最具优势! 4 // 5 // Cre 阅读全文
posted @ 2019-04-03 01:16 Dast1 阅读(714) 评论(0) 推荐(0)
摘要:1 //用playground运行即可 2 import UIKit 3 4 var str = "Hello, playground" 5 6 let lTestPointsOne : [(Double, Double)] = [(0,0)] 7 let lTestPoints : [(Doubl 阅读全文
posted @ 2019-03-14 11:07 Dast1 阅读(1089) 评论(0) 推荐(0)
摘要:一、NSOperation 抽象类 NSOperation 是一个"抽象类",不能直接使用。抽象类的用处是定义子类共有的属性和方法。 NSOperation 是基于 GCD 做的面向对象的封装。 相比较 GCD 使用更加简单,并且提供了一些用 GCD 不是很好实现的功能。 苹果公司推荐使用的并发技术 阅读全文
posted @ 2018-01-05 20:48 Dast1 阅读(274) 评论(0) 推荐(0)
摘要:效果如图: 代码如下: // // ViewController.swift // TwoSidedView // // Created by mayl on 2017/12/14. // Copyright © 2017年. All rights reserved. // import UIKit 阅读全文
posted @ 2017-12-14 23:31 Dast1 阅读(1248) 评论(0) 推荐(0)
摘要:一、对swift工程 经实践,网上的方法都无法成功,后来思考DEBUG宏定义方式,经实测有效,方式如下: 注意:不能把swift flags 小三角折叠后双击设置-DTarget4AppStore, 这样会自动清空之前生成或定义的宏定义 #if Target4AppStore self.view.b 阅读全文
posted @ 2017-04-12 18:03 Dast1 阅读(1172) 评论(0) 推荐(0)
摘要:在每次添加udid时,都需要手动去开发者网站更新PP文件,下载配置到Xcode和更新PP文件到jenkins所有工程。是一个很耗时的操作。 使用fastlane match可在小组成员之间更方便的统一管理证书和PP文件。 分步指南 安装fastlane: ① Make sure you have t 阅读全文
posted @ 2017-03-24 18:43 Dast1 阅读(6035) 评论(0) 推荐(0)
摘要:无意间看到巧神的文章时,感觉非常兴奋,此文章正好解决了公司目前项目的痛点。 读到以下关键一段时,不甚明了,故自己做了实验分享给有缘人。 “我们的每个课程的资源文件都具有相同的文件名,例如首页背景都叫 HomeBackgroundBg.png ,由于每个课程背景不一样,所以我们在工程中,每一个课程 t 阅读全文
posted @ 2017-03-08 17:24 Dast1 阅读(848) 评论(0) 推荐(0)
摘要:1 // 2 // ViewController.swift 3 // Test4SwiftyUserDefaults 4 // 6 // Copyright © 2017年. All rights reserved. 7 // 8 9 import UIKit 10 11 class ViewCo 阅读全文
posted @ 2017-01-14 18:32 Dast1 阅读(685) 评论(0) 推荐(0)
摘要:重构目的 相同的代码最好只出现一次 主次方法 主方法 只包含实现完整逻辑的子方法 思维清楚,便于阅读 次方法 实现具体逻辑功能 测试通过后,后续几乎不用维护 重构的步骤 新建一个方法 新建方法(写好伪代码,根据伪代码写未实现的代码,根据报错,实现方法) 把要抽取的代码,直接复制到新方法中 根据需求调 阅读全文
posted @ 2015-10-29 21:42 Dast1 阅读(509) 评论(0) 推荐(0)
摘要:原文地址:http://blog.sunnyxx.com/2014/08/30/objc-pre-main/ 我是前言 一个iOS app的main()函数位于main.m中,这是我们熟知的程序入口。但对objc了解更多之后发现,程序在进入我们的main函数前已经执行了很多代码,比如熟知的+ loa 阅读全文
posted @ 2015-10-23 14:38 Dast1 阅读(345) 评论(0) 推荐(0)