IOS功能笔记
CXLiao
认真, 探索
展开
-
浅写一下iOS录屏开发~ 搬砖人的自我记录
用大白话浅写一下iOS录屏开发逻辑 ~原创 2022-03-01 09:29:12 · 2646 阅读 · 3 评论 -
XCode崩溃调试技巧僵尸模式 - Zombie
在调试项目的过程中,有时候会崩溃到main.m,全局断点也无法拦截EXC_BAD_ACCESS ????当遇到由崩溃提示消息为:EXC_BAD_ACCESS时,意味着由于ARC模式的关系,我们向一个已经释放的对象发送了消息,无法找到该对象引发了本次崩溃。但是这时候定位崩溃位置很困难,因为已经找不到该对象了。Zombie模式 ????那这时候就可以用到xcode的僵尸调试模式 Zombie可以理解为:在对象释放(retainCount为0)的时候,使用内置的Zombie对象,来替代原来被释放的对象原创 2020-11-17 14:50:52 · 928 阅读 · 0 评论 -
UICollectionView不响应scrollViewDidScroll方法,看向alwaysBounceVertical这个属性!
滚动视图我们常用的:UIScrollView,UICollectionView,UITableView@property(nonatomic) BOOL bounces; // default YES. if YES, bounces past edge of content and back again@property(nonatomic) BOOL alwaysBounceVertic...原创 2020-04-28 16:34:41 · 1925 阅读 · 0 评论 -
iOS根据堆栈信息查找崩溃位置
通常,我们使用全局断点可以定位到崩溃的位置,但是在很多时候,我们无法具体定位到崩溃位置。比如这个时候可以根据堆栈里的内存地址来进行查找一. dsym符号表的获取已经打包的项目xcode->window->organizer->右键你的应用 show finder->右键.xcarchive 显示包内容->dSYMs->test.app.dYSM直...原创 2020-04-20 13:35:18 · 1234 阅读 · 0 评论 -
Mac OS 下 NVM 的安装
nvm,node,npm之间的区别。nvm:nodejs 版本管理工具。也就是说:一个 nvm 可以管理很多 node 版本和 npm 版本。nodejs:在项目开发时的所需要的代码库npm:nodejs 包管理工具。在安装的 nodejs 的时候,npm 也会跟着一起安装,它是包管理工具。npm 管理 nodejs 中的第三方插件nvm、nodejs、npm的关系:nvm...原创 2020-03-20 14:32:10 · 345 阅读 · 0 评论 -
解决iOS使用友盟微博分享没有图片
//创建分享消息对象 UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject]; NSString *urlKey = [[SDWebImageManager sharedManager] cacheKeyForURL:[NSURL URLWithString:se...原创 2020-03-17 16:27:03 · 727 阅读 · 0 评论 -
Xcode11取消了Application Loader后用altool上传ipa
今天打包上传的时候一直卡在authentication with the app store。卡完了之后一直报错查了很多,发现说的都是Application Loader里有的脚本运行错误,但是xcode11已经删了Application Loader。最后选择用xcrun altool来上传解决问题首先看看你的电脑是否支持这个工具,在终端中输入$ xcrun altool如果不支...原创 2019-10-14 17:24:12 · 882 阅读 · 0 评论 -
iOS 滑动页面的时候让tabbar下移到消失,nav隐藏
iOS 滑动页面的时候让tabbar下移到消失,nav隐藏,停止滑动的时候tabbar和nav出现- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { [UIView animateWithDuration:1 animations:^{ self.tabBarController.tabBar.tr原创 2017-04-20 11:53:12 · 2767 阅读 · 1 评论 -
iOS 实现长屏截图,scrollview,tableview截图
通常截图的时候,如果需要截scroll,或者tableview的时候就不能全屏截图了。截图方法。图片保存的回调代码部分- (void)btnAction:(UIButton *)sender { UIImage* image = nil; // 下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了,原创 2017-08-31 15:23:02 · 10782 阅读 · 0 评论 -
iOS使用 [SKPSMTPMessage]发送邮件
使用cocoapods安装SKPSMTPMessage。签订协议 代码 代码部分@interface ViewController ()<SKPSMTPMessageDelegate>@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional s原创 2017-08-31 15:34:33 · 1385 阅读 · 0 评论 -
使用WKWebView进行交互时遇到的内存泄露的坑
本文参考了他人的文章 WKWebView中MessageHandler的内存泄漏问题解决过程 我的天 完美解决简直 描述的太到位了原创 2017-11-15 09:20:58 · 1148 阅读 · 0 评论 -
iOS微信实现第三方登录的方法
https://www.cnblogs.com/sunfuyou/p/7843612.html转载 2019-05-20 11:01:10 · 2399 阅读 · 0 评论 -
iOS调用拨打电话
拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://1888888888"]];打完电话后还会回到原来的程序,也会弹出提示,推荐使用UIWebView *callWebView = [[UIWebView alloc] initWi原创 2017-04-19 15:42:57 · 539 阅读 · 0 评论 -
申请苹果开发者账号(个人,公司)所需资料
苹果开发者在开发完APP需要上传APPStore时需要有开发者账号才可以。 开发者账号分为三种: 1. 个人账号:个人申请用于开发苹果app所使用的账号,仅限于个人使用,申请比较容易,$99。 2. 公司账号:以公司的名义申请的开发者账号,用于公司内部的开发 者共用,$99 3. 企业账号:企业内部使用,不能上传appstore,$299因个人没有申请过企业账号,在这里讲述一下个人账号与公司原创 2017-03-22 16:48:18 · 8768 阅读 · 0 评论 -
iOS 获取正在显示的ViewController
在做单设备登录的时候,当收到推送的消息需要提示用户已经该账号已经被挤掉的消息,点击重新登录需要到登录页面,但是就存在我们不知道当前页面是哪个页面的问题,不知道该怎么去present登录页面获取当前页面所在的ViewController//获取当前屏幕显示的viewcontroller - (UIViewController *)getCurrentVC { UIViewContr原创 2017-02-16 11:29:28 · 466 阅读 · 0 评论 -
iOS点击屏幕任意位置, 隐藏键盘(手势)
在viewDidLoad中添加手势手势对应的方法原创 2016-04-27 10:45:35 · 1545 阅读 · 0 评论 -
iOS根据输入的位置获取经纬度
NSString *oreillyAddress = @"1005 Gravenstein Highway North, Sebastopol, CA 95472, USA"; //测试使用中文也可以找到经纬度具体的可以多尝试看看~CLGeocoder *myGeocoder = [[CLGeocoder alloc] init];[myGeocoder geocodeAddre转载 2016-04-27 11:03:48 · 765 阅读 · 0 评论 -
xcode里面的查找功能
1.如果是在打开的文档范围内: 查找: Command+ F 替换: Option+Command+F Replace All 是全部替换本文档范围内的字符串 Replace 是替换当前字符串 Replace & Find是边查找边替原创 2016-05-11 13:10:48 · 890 阅读 · 0 评论 -
UIAlertController中TextField的用法
写项目的时候有时候需要在弹出的alert上添加一个输入框这时候可以添加如下代码: [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) { // 可以在这里对textfield进行定制,例如改变背景色 textField.backgr原创 2016-05-05 13:38:14 · 9791 阅读 · 0 评论 -
弹出键盘后让页面上移
当我们弹出键盘的时候, 可能会出现键盘挡住 UITextField, 下面是解决方案首先在viewDidLoad 添加两个观察者不要忘了在dealloc里移除然后实现这两个方法(添加判断, 如果当前键盘的位置不会档上输入框 就什么也不干)要获取当前键盘的高度, 然后让我们的tab原创 2016-05-23 16:06:24 · 2348 阅读 · 0 评论 -
点击cell上的button 获取点击的位置
这个函数后,,,当你点击cell的时候想知道到底是点击了第几行,,这时候你就可以通过在以下代码获得点击的行数。[cpp] view plain copy print?UITableViewCell *cell = (UITableViewCell *)[btn superview]; NSIndexPath *indexPath = [_myTableView indexPathFo原创 2016-07-19 17:32:28 · 2065 阅读 · 0 评论 -
iOS 8个实用小技巧
在开发过程中我们总会遇到各种各样的小问题,有些小问题并不是十分容易解决,这里主要讲一些你可能不知道的(当然,也有可能你都知道,大神就不必往下看了)1、控件的局部圆角问题一个button或者label,只要右边的两个角圆角,或者只要一个圆角。该怎么办呢?这就需要图层蒙版来帮助我们了CGRect rect = CGRectMake(0,转载 2016-08-10 13:07:42 · 406 阅读 · 0 评论 -
iOS开发 APP如何实现检测更新
App检测更新可以使用两种方法。第一种是和安卓等系统一样,获取自己服务器的App版本号与已安装的App版本号比较;第二种是根据已发布到App Store上的应用版本号与已安装的App版本号比较更新。两种方法比较第一种检测更新方法的优点是:检测更新速度快、检测稳定;缺点是:和App Store上的应用版本号不同步(App上架需要审核时间,不确定什么时候成功更新到App原创 2016-10-14 11:17:49 · 1142 阅读 · 1 评论 -
升级XCode8之后控制台打印了好多乱七八糟的东西
虽然不影响开发,但是看着乱七八糟的,其实解决办法很简单第一步第二步在Scheme里面添加OS_ACTIVITY_MODE = disable完美解决,再次运行就不会出现那些打印了原创 2016-11-09 10:14:57 · 4577 阅读 · 0 评论 -
在使用Github下载的demo时出现问题
在使用Github下载的demo时出现问题github下载的Demo,很多时候使用到CocoaPods,有的时候因为依赖关系或者版本问题不能编译运行。出现例如 <The sandbox is not sync with the Podfile.lock> 问题时候,如下所示 diff: /../Podfile.lock: No such file or directory diff: Ma原创 2016-11-02 11:21:18 · 932 阅读 · 0 评论 -
安装CocoaPods的相关问题
一、CocoaPods介绍:作为程序员我们都知道每种语言发展到一定的阶段,都会出现相应的依赖管理工具,CocoaPods就是为iOS程序提供的依赖管理工具。它的项目源码在Github上管理,经过多年发展已经成为iOS开发中常用的第三方库依赖管理工具;它的使用可以让我们节省设置和更新第三方开源库的时间。二、检测电脑是否安装了CocoaPods有时候在公司需要临时用别的电脑,需要看看电脑是否安装了Coc原创 2017-03-01 11:28:40 · 447 阅读 · 0 评论 -
iOS8左滑出现三个按钮
// 自动进入编辑模式,出现左滑效果- (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{ // 回调方法里写点击事件 UITableViewRowAction *rowAction原创 2017-02-14 17:02:34 · 482 阅读 · 0 评论 -
iOS中根据已有经纬度定位并显示在地图上
从接口中获取到了现在的经纬度将NSNumber 的经纬度 转成 double 类型 之后赋给CLLocationDegress 大头针的title 为传过来的位置设置一个大头针 可以定位到当前的位置原创 2016-03-08 08:43:42 · 2016 阅读 · 0 评论