
iphone
文章平均质量分 57
雨夜赶路人
学习中...............
精通one,学习another,关注next
展开
-
swift - reduce简介
reduce减少,降低;(烹调中)使变浓稠,收汁;节食减肥;使沦为,使陷入(不好的境地);迫使,使不得不(做);(通过破裂、燃烧等)使变成,使化为;归纳,简化;将分数约到(最小项);(使)进行还原反应;减薄(底片或图片);(语音)弱化;使(脱臼,断骨)复位;攻克,征服(尤指围攻并占领城镇或要塞)原创 2024-01-28 18:06:19 · 1821 阅读 · 0 评论 -
iPhone开发--Xcode中的ld64和-ld_classic是什么意思
静态链接器(static linker),或者直接叫链接器(linker),在构建时运行。输出最常见的是Mach-O 映像,不过也可以输出一个对象文件。注意:在 Xcode 15 beta 阶段,这些选项是 -ld64 和-ld_prime。我继续使用这些名称,因为新旧的定义会随时间变化(我们中的一些人仍然认为 ld64 是新的链接器;静态库是由一个或多个目标文件组成的存档,它使用 .a 作为文件扩展名。ld_prime —— 这是随着 Xcode 15 引入的。如下内容,翻译自官方论坛文档。原创 2023-10-26 19:58:06 · 3205 阅读 · 0 评论 -
Swift代码下,数组中的元素是Protocol,如何删除一个指定的Protocol
简单的翻译下,就是TestProtocol未遵循Equatable协议,那有的小伙伴就说了,那就让TestProtocol遵循下Equatable协议呗。我们既然不能通过index(of:)方法取index,那我们自己遍历数组取index呗,于是有了开始的代码。我们的协议需要在OC里面调用,得需要支持OC,这就尴尬了。有人疑惑,为何要这么费劲的取index,直接用数组的index(of:)函数不就可以吗?生成一个数组,数组中的元素是Protocol。我们试一下,发现报错了,提示如下。向数组中添加一个元素。原创 2023-01-17 16:57:18 · 211 阅读 · 0 评论 -
iPhone开发--MPNowPlayingInfoCenter时间进度条不更新
有个bug,锁屏时客户端的时间进度条不更新,原因是……原创 2022-08-05 20:15:25 · 789 阅读 · 0 评论 -
iPhone开发--AudioQueue设置倍速
经过查找,知道可以通过设置kAudioQueueParam_PlayRate来改变倍速。time-pitch是什么?经过查询写下了如下配置的代码。运行,发现没效果,去查文档,发现了下面的一句话。必须设置time-pitch后,才可以设置倍速。之后再调用设置倍速的代码,就可以改变倍速了。...原创 2022-07-28 20:37:26 · 527 阅读 · 0 评论 -
iPhone开发--全屏页面,UITableView未能显示在界面的最顶部
缘起:界面结构比较简单即UIViewController的UIView中包含一个UITableView。我们想要的是隐藏导航栏,之后将UIView和UITableView显示在屏幕的最顶端位置,即y坐标为0.目标如下图所示:实现:当这个UIViewController被push到navigationController的导航栈(viewControllers)中后,在viewDidLoad()函数里书写如下代码:// 隐藏导航栏self.navigationController?.setNa原创 2021-07-13 19:37:34 · 1987 阅读 · 1 评论 -
iPhone开发--iOS 禁用右滑返回手势(Object C 和Swift的写法)
Swift的写法extension UIViewController { func popGestureClose() { if let ges = self.navigationController?.interactivePopGestureRecognizer?.view?.gestureRecognizers { for item in ges { item.isEnabled = false原创 2021-01-15 19:38:25 · 3986 阅读 · 1 评论 -
iPhone开发--Xcode12升级后在模拟器上编译错误
问题1:在模拟器中运行,会有如下错误提示:No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=arm64 armv7 armv7s).解决办法:“Targets->Build Settings->User-Defined->VALID_ARCHS”找到Debug,加入 ‘i386 x86_64’ 加入后如下图:...原创 2020-09-29 17:21:06 · 1794 阅读 · 0 评论 -
iPhone开发--XCode11下获取CFBundleVersion和CFBundleShortVersionString
在XCode11下调用/usr/libexec/PlistBuddy -c 'Print CFBundleVersion' XXXX/XXXX-Info.plist返回结果为CURRENT_PROJECT_VERSION并不是想象中的BundleVersion。如何解决?搜google,找stackoverflow,发现真的有解决办法,但是很繁琐,各种正则取值。复杂的方法而且和内容...原创 2019-12-26 18:47:02 · 2638 阅读 · 1 评论 -
iPhone开发--在iPad上调用UIAlertController函数时发生crash
在iPad上调用UIAlertController函数时,会发生crash,提示信息如下:*** Terminating app due to uncaught exception 'NSGenericException', reason: 'Your application has presented a UIAlertController (<UIAlertController: 0x...原创 2019-12-11 19:46:48 · 779 阅读 · 0 评论 -
iPhone开发 – 如何去掉float小数点后无效的0(数字部分有小数时显示小数位,无小数时不显示小数位)
例如显示时间时,可爱的产品有如下要求。2.1小时显示成2.1小时。2.0小时显示成2小时。该怎么做呢?最直观的方法是用正则?但是截取字符串的方法比较粗暴且比较麻烦。那有没有简单的方法呢?经查找验证,有的。代码如下:NSString * stringNumber = [NSString stringWithFormat:@"%.1f", 2.1];NSNumber * inNumbe...原创 2019-11-06 15:18:15 · 1930 阅读 · 0 评论 -
iPhone开发--正则表达式获取字符串中的内容
缘起:想获取字符串中指定的字符,考虑用正则表达式,遂写了如下的代码:NSString *htmlStr = @"oauth_token=1a1de4ed4fca40599c5e5cfe0f4fba97&oauth_token_secret=3118a84ad910967990ba50f5649632fa&name=foolshit";NSString *regexString原创 2012-01-06 16:41:12 · 7076 阅读 · 2 评论 -
iPhone开发--验证一个UIViewController是否是root
缘起:一个viewConroller,如果它是跟视图,则没有pop按钮,如果不是跟视图,则有pop按钮。思索:解决这个问题的方法,就是判断这个视图是否是root视图解:if(self!=[self.navigationController.viewControllers objectAtIndex:0]){ // Put Back button in navigatio原创 2013-01-06 22:29:01 · 3183 阅读 · 0 评论 -
iPhone开发--子view随着父view的frame大小而自动改变大小
当更改父view的frame时,在有些情况下子view的frame也发生了变化。这种情况并不都是自己想要的。解决方法如下: [父view setAutoresizesSubviews:NO];iOS自动帮我们做了让子视图自动适应父视图的方法,哈,但是自动适应也需要适可而止。原创 2012-10-24 09:14:22 · 10923 阅读 · 0 评论 -
iPhone开发--计算两个日期的时间间隔 年 月 日
NSDateComponents *comps = [[NSDateComponents alloc] init];[comps setDay:6];[comps setMonth:5];[comps setYear:2004];NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregoria原创 2012-10-23 23:21:34 · 3579 阅读 · 0 评论 -
searchBarTextDidBeginEditing方法在pop的时候又被执行
好久没写blog了,最近太忙了,闲暇的时候就懒得写了,导致迟迟没有更新,哈哈。今天遇到个奇怪的问题,没有找到原因,但是找到了解法…… 囧啊~!事情的经过是这样的,1.点击UISearchBar的时候会触发- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { [self.navigationCon原创 2012-10-22 22:45:40 · 3434 阅读 · 0 评论 -
iPhone开发--AVAudionPlayer支持后台播放
刚才遇到了个不大不小的问题,就是AVAudionPlayer如何在后台播放音频文件。网上查找方法,最后解决,方法整理如下:1.需要加入AVaudionSession的代码,总体如下,各位可以抽减掉初始化的代码。- (void)viewDidLoad{ NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathFo原创 2012-09-16 16:52:22 · 2879 阅读 · 0 评论 -
iPhone开发--Unresolved Symbols CAKeyframeAnimation : iOS Animation
我尝试这用CoreAnimation做一些动画效果,却在最后出现了如下的编译错误:Undefined symbols for architecture i386: "_OBJC_CLASS_$_CAKeyframeAnimation", referenced from: objc-class-ref in SpellPageViewController.old: symbol翻译 2012-09-10 00:14:52 · 1941 阅读 · 0 评论 -
XCode 10.3 升级后的编译错误
升级完Xcode 10.3,编译的时候提示如下错误:Failed to find or create execution context for description '<IBCocoaTouchPlatformToolDescription: 0x7fc845e539f0> System content for IBCocoaTouchFramework-EightAndLate...原创 2019-07-23 14:26:43 · 3056 阅读 · 0 评论 -
iPhone开发--令人蛋疼的问题
运行出现如下错误:Undefined symbols for architecture i386: "_OBJC_CLASS_$_ViewController", referenced from: objc-class-ref in AppDelegate.old: symbol(s) not found for architecture i386clang: erro原创 2012-09-09 23:26:09 · 7437 阅读 · 4 评论 -
iPhone开发--获取当前时间与2001年1月1日的时间差以毫秒为单位
因为程序的需要,要计算两个时间的时间间隔,既时间差,如果用NSDate等方法拿到的时间格式很难进行差值运算(个人觉得),于是想有没有一个方法象java中的那样获取1970年以后的时间,上伟大的stackOverFlow上查找答案 终于找到了,原文翻译如下:看 CFAbsoluteTimeGetCurrent:CFAbsoluteTime start = CFAbsoluteTime原创 2011-12-07 21:23:08 · 3244 阅读 · 2 评论 -
iPhone开发-ios7环境下Uitableview删除某一行后忽略点击事件
下面代码的作用是:当你点击选中tableview的某一行时,它将记录被选中的行。当你左扫并删除某一行时,它将删除该行数据并更新Uitableview中的数据。@interface DummyTableViewController : UITableViewController@property (nonatomic, strong) NSMutableArray *items;@e翻译 2014-03-27 21:58:47 · 5469 阅读 · 2 评论 -
iPhone开发-ios7环境下如何禁用UINavigationController中的轻扫回退的手势
在ios7中,苹果公司给navigation增加了一个的默认属性,你手指从屏幕的左边框向右轻扫,将会回退到导航栈的前一个视图控制页面(controller),但是在我的app中和我设置的默认手势冲突了,我将如何禁用系统默认的右扫的手势呢?看如下代码:if ([self.navigationController respondsToSelector:@selector(interactive翻译 2014-03-27 22:18:26 · 8613 阅读 · 2 评论 -
iPhone开发--检查UIWebView上Touch/UITapGestureRecognizer事件的最简单的方法(转载)
转载自:http://www.iphone-geek.cn/编程/检查uiwebview上touch的最简单的方法我有一个程序需要检测UIWebView是否有touch动作,不幸得很,UIWebView上的touchesBegan等事件无法被检测。在网上查了一下,有许多解决方法,比如在UIWebView上再加一个透明的UIView,重置UIWindow的sendEvent或重置UIWe转载 2011-12-19 14:21:37 · 1892 阅读 · 0 评论 -
提交AppStore审核,提示缺少LSHandlerRank警告
警告内容如下:WARNING ITMS-90788: “Incomplete Document Type Configuration. The CFBundleDocumentTypes dictionary array in the xxx Info.plist should contain an LSHandlerRank value for the CFBundleTypeName ‘$d...原创 2019-09-03 11:19:40 · 2174 阅读 · 0 评论 -
Jenkins 插件错误,Jenkins无法启动
Jenkins 插件错误,导致jenkins启动不了。解决办法:进入jenkins配置文件目录cd /Users/用户名/.jenkins之后打开config.xml文件,找到该插件的配置,并删除。重启jenkins,搞定。参考:https://issues.jenkins-ci.org/browse/JENKINS-54299?page=com.atlassian.jira.plu...原创 2019-08-14 19:46:30 · 7277 阅读 · 0 评论 -
XCode的一些快捷键(持续更新)
整行上移下移光标放到将要移动的行,按下面的指示进行操作。上移:option+command+[下移:option+command+]整段上移下移用光标选中一段代码之后,操作如下,和单行上移下移雷同。上移:option+command+[下移:option+command+]...原创 2019-08-01 20:57:23 · 1038 阅读 · 0 评论 -
iPhone开发 – iPhonAn App ID with Identifier 'XX.XX' is not available. Please enter a different string
缘起:在配置 Universal Links 的时候,需要在Xcode中配置 Associate Domains,但是配置完,出现下图的错误:点击 Fix issue,问题依旧,这是为啥?备注:我的xcode版本为 7.3。 莫非是Apple开发者网站上的Associated Domains没有配置?上网站上查看,配置了啊那咋办?继续找呗,重头到尾检测了遍配置 Universal Links 的步原创 2016-06-29 18:37:33 · 3725 阅读 · 1 评论 -
iPhone开发 – 小技巧二则 (UIColor 16进制颜色 | UIview设置frame)
引言开发中总遇到各种各样的问题,解决方法也各有各的不同,可以说是条条大路通罗马,但是总有一条或几条是最优的,开始的时候我们可能只是为了完成去罗马的任务,但是罗马去多了以后,总会发现些捷径,既然有捷径,为何还要固执的走偏远的老路呢? 下面总结了一些小技巧,暂时记录下,未完待续。 1. UIColor 生成问题 简单的UIColor生成,大家都会,下面假设UI设计给了一个颜色,rgb值分别为原创 2016-01-26 14:04:16 · 2248 阅读 · 0 评论 -
iPhone开发-点击UIWebView的链接地址时,更改链接地址
缘起在开发的时候,有时会需要加载很多webview,当然webview的内容即可以是本地的html也可以是远端服务器的内容,随需求而选择需要用哪一种。前两天因为开发的需要,需要将一个应用A,转换成一个新应用B,A和B中大部分功能是相同的,只是B中加了些新功能,所以B的代码是基于A的基础上添加的。A中有些功能需要调用webview,点击webview中的某些超链接会跳到A中的相应的页面,例如原创 2014-10-19 20:51:00 · 12030 阅读 · 0 评论 -
iPhone开发-UIButton setImage的同时也显示title
想要做一个按钮,按钮上半部分显示图片(Image),下半部分显示文字(Title)(文字位置不固定),显示效果如下图:UIButton有两个设置Image的方法,一个是setImage,一个是setBackgroundImage。到底用哪个方法呢,既然不确定,那就测试下,看看哪个符合自己的要求。1.先测试setImage方法,在IB(xib或storyboard)中拖拽原创 2014-11-11 23:17:53 · 11936 阅读 · 0 评论 -
iPhone开发--隐藏navigationItem的左侧返回按钮
因为项目的需要,隐藏navigationControll左侧的回退按钮,于是写了如下代码:self.navigationItem.leftBarButtonItem = nil;发现不起作用,于是乎有了如下的代码:self.navigationItem.hidesBackButton = YES;哈,返回按钮隐藏了。参考:http://stackoverflow.com/qu原创 2012-06-30 19:31:26 · 19685 阅读 · 1 评论 -
iPhone开发--UIActionSheet设置delegate为self时出现警告
UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle: @"是否保存信息?"//@"保存信息到草稿" delegate:self cancelButtonTitle:@"取消" destructiveButtonTi原创 2012-02-22 20:27:06 · 1986 阅读 · 0 评论 -
iPhone开发--removeFromSuperview当tag为0时不能正常工作
下午的时候遇到一个奇怪的问题,根据图标的tag删除对应的图标,用到了removeFromSuperview函数。但是当tag为0的时候,下面的代码就陷入了死循环。苦找原因,无果,后来想是不是因为tag为0系统不能正常处理?于是将最低的tag设置为1,之后运行,一切ok。难道tag为0是系统的,他人不可以用。迷惑ing。do { tempView = [chenbao viewWithT原创 2012-02-16 22:15:44 · 1841 阅读 · 0 评论 -
iPhone开发--实时获取UIWebView中的html内容
在网上找到了通过运行javascript脚本得到网页的html内容的方法:获取所有html:NSString *lJs = @"document.documentElement.innerHTML";获取网页title:NSString *lJs2 = @"document.title";在WebView中使用的情况如下:UIWe原创 2012-01-04 19:09:22 · 11698 阅读 · 0 评论 -
iPhone开发--UIScrollView默认显示第二页的内容
用UIScrollView做了一个含有几页的scrollView,默认显示的是第一页,我想显示非第一页,查找半天,终于找到了相关的函数,记录如下:[chenbaosetContentOffset:CGPointMake(320,0)];呵呵 这个就是默认显示第二页的方法。比较简单,但是很实用 。原创 2012-02-02 19:53:11 · 2071 阅读 · 0 评论 -
iPhone开发--诡异问题
开发过程中遇到一个诡异的问题,我用到一个函数,两个地方用,产生两个结果导致一系列的错误,多方查询未果。突然看到xcode对其中一个函数调用有警告,原来我在用该函数时未倒入头文件。真恶心,我忘倒入头文件了,你提示我错误啊,崩溃,找了好久才找到。看来对xcode4的警告一定不能放过啊,你放过了,它说不定什么时候给你个诡异错误,让你郁闷之极。原创 2011-12-30 19:01:21 · 663 阅读 · 0 评论 -
imageNamed和dataWithContentsOfFile的区别
最近老是受iphone内存问题的困扰,找了些资料,现在贴出了两篇经典的博文。博文如下:转载自:http://blog.youkuaiyun.com/hj2060/article/details/6925926最近做一个写真书,由于加载大量的图片,内存溢出,程序崩溃,却不报任何错误或者警告。 用xcode的instrument工具查看内存使用情况时,发现程序使用内存情况很稳定转载 2012-01-30 22:00:36 · 5526 阅读 · 0 评论 -
iPhone开发--UIButton中文字对齐的问题
之前用了UILabel显示文字,后来将UILabel改为UIButton,发现文字的位置变了。我用的是一个CGRect。搞不懂为什么,后来想清楚了,UIButton中的title默认是居中对齐,而UILabel估计是左对齐。后来用了UIButton的toplabel.titleLabel.textAlignment =UITextAlignmentLeft;貌似也不怎么好用原创 2012-01-11 16:43:31 · 6174 阅读 · 2 评论 -
iPhone开发--NSDate操作
NSDate//得到当前的日期NSDate *date = [NSDate date];NSLog(@"date:%@",date);//得到(24 * 60 * 60)即24小时之前的日期,dateWithTimeIntervalSinceNow:NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow: -(24 * 60转载 2011-11-13 12:35:18 · 1793 阅读 · 0 评论