iOS
文章平均质量分 64
honey199396
记录自己工作中遇到的点点滴滴沟壑。
展开
-
iOS -- xcode-select: error: tool ‘xcodebuild‘ requires Xcode 错误处理
使用xcodebuild时错误提示:xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance找到Xcode安装位置,并显示包内容,拿到developer文件夹路径,执行下面代码sudo xcode-select --switch /Applicat原创 2020-07-23 10:53:43 · 935 阅读 · 0 评论 -
Masonry介绍与使用实践:快速上手Autolayout
前言1MagicNumber -> autoresizingMask -> autolayout以上是纯手写代码所经历的关于页面布局的三个时期在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了在iphone4-iphon转载 2016-06-08 15:26:53 · 355 阅读 · 0 评论 -
“could not build module UIKit”问题的解决
在使用Xcode编译代码的时候,偶尔会遇到“could not build module UIKit”这样的报错,解决办法是:找到工程目录ModuleCache文件,并删除它,文件位置在:你的工程目录/DerivedData/ModuleCache。原创 2016-06-12 10:57:06 · 11519 阅读 · 1 评论 -
stringByAddingPercentEncodingWithAllowedCharacters
stringByAddingPercentEncodingWithAllowedCharacters,有需要的朋友可以参考下。(1) 网络访问请求:中文空格字符编码/解码 stringByAddingPercentEscapesUsingEncoding(只对 `#%^{}[]|\"<> 加空格共14个字符编码,不包括”&?”等符号), ios9将淘汰,建议用stringByA转载 2016-06-12 11:30:42 · 4678 阅读 · 0 评论 -
如何轻松实现iOS9多任务管理器效果(iCarousel高级教程)
原文:http://www.cocoachina.com/ios/20150804/12878.html前言iOS9马上要发布了 为了我司APP的兼容性问题 特意把手上的iOS Mac XCode都升级到了最新的beta版 然后发现iOS9的多任务管理器风格大变 变成了下面这种样子我忽然想起来之前的文章提到我最爱的UI控件iCarousel要实现类似这种效果其实是很转载 2016-06-12 15:25:43 · 796 阅读 · 0 评论 -
CocoaPods管理第三方开源组件,入门介绍
原文链接:Introduction to CocoaPods Tutorial通过这个教程,你会学习使用一个很流行的第三方开源组件管理工具----CocoaPods。不过这个工具是什么,为什么要使用它呢?作为一个iOS开发者,你一定会用到很多别人的代码,这些代码以类库的形式提供。想象一下,如果所有的东西都要你从零开始创建,得有多麻烦!如果没有管理工具,你可能会简单地将每个组转载 2016-06-07 11:42:31 · 711 阅读 · 0 评论 -
UI -- UITableView 数据源协议与委托协议
与UIPickerView等复杂控件类似,表视图在开发过程中也会使用委托协议和数据源协议,而表视图UITableView的数据源协议是UITableViewDataSource,委托协议是UITableViewDelegate。UITableViewDataSource协议中的主要方法如下所示,其中必须要实现的方法有tableView:numberOfRowsInSection:和tableView原创 2016-07-13 11:22:15 · 1160 阅读 · 0 评论 -
ERROR ITMS-90206:"Invalid Bundle. The bundle at 'XXX.appex' contains disallowed file 'Frameworks'."
当我们上传我们的包到AppStore的时,有时候会报出错误:ERROR ITMS-90206:"Invalid Bundle. The bundle at 'XXX.appex' contains disallowed file 'Frameworks'."发生错误的原因:我们使用了ios的extension扩展插件,比如today-widget,或者是AppWatch等。解决办法:goo原创 2016-08-29 13:57:44 · 6538 阅读 · 3 评论 -
iOS - 使用自定义的Xib作为自己的子视图
使用自定义Xib作为自己的子视图方法,新建一个项目XibTest工程,在Main.Storyboard 的View下加入一个View子视图。 新建子视图文件,创建一个SubxibView.swift和SubXib.xib文件,并设置成你想要的内容,并将File‘s Owner的Custom Class 设置成你SubXibView,而View不要与SubXibView关联。 将我们在Ma原创 2016-08-29 14:23:28 · 1006 阅读 · 0 评论 -
iOS -- Swift字符串操作
版本2:增加了Swift 2.0的语法,与Swift 1.2的语法相比,主要是:advance方法变成了advancedBy方法(但不是简单替换);没有了count方法,count(str)需要变成str.characters.count等。字符串的定义var str1="hello, mandarava." //字符串变量let str2="hello, mandarava." /转载 2016-08-29 15:45:16 · 455 阅读 · 0 评论 -
iOS - 字符串操作for遍历
使用for循环遍历字符串,并获取字符,包含正序遍历字符串,逆序遍历字符串let string:String = "Hello, playground"/// 正序遍历字符串for i in 0 ..< string.characters.count { let c = (str as NSString).characterAtIndex(i) let cStr = Charact原创 2016-08-29 15:52:52 · 2530 阅读 · 0 评论 -
iOS "dyld`dyld_fatal_error: -> 0x12000d088 <+0>: brk #0x3"错误
Xcode真机打包有时候会报iOS "dyld`dyld_fatal_error: -> 0x12000d088 : brk #0x3"错误错误。一般解决办法是:clean自己的工程,然后重新打包,一般都能解决这个问题。原创 2016-08-21 17:18:15 · 996 阅读 · 0 评论 -
用Swift写一个发送邮件的iOS用户反馈
为了接收用户反馈,很多iOS应用都会在设置页面中,加入发送邮件功能——尤其当应用是由个人开发者开发时。当然iOS中邮件的发送方式有很多种,有体验相对较差openURL跳转方式,也有调用其他第三方库等办法。不过较常用且方便的,还是如下图(应用为潮汐),调用系统的MFMailComposeViewController视图在应用内完成邮件发送,并返回应用。chaoxi_feedbac转载 2016-08-10 16:11:00 · 3659 阅读 · 0 评论 -
iOS -- 应用程序国际化(多语言)
一、程序国际化 1、首先我们创建一个工程,命名为InternationDemo,然后添加多语言。 从代码中分离文本: 目前,应用展示的所有文本都是以硬编码字符串存在于Main.storyboard 和 ViewController里。为了本地化这些字符串,你需要把它们放在一个单独的文件中。他将会在包中简单地引用这些字符串,而不是在你的方法中进行硬编码。 Xcode使用带有 .strings原创 2016-09-01 12:14:06 · 449 阅读 · 0 评论 -
iOS —音效的播放
一、简单介绍简单来说,音频可以分为2种(1)音效又称“短音频”,通常在程序中的播放时长为1~2秒在应用程序中起到点缀效果,提升整体用户体验(2)音乐 比如游戏中的“背景音乐”,一般播放时间较长框架:播放音频需要用到AVFoundation.framework框架 二、音效的播放1.获得音效文件的路径 NSU转载 2016-08-10 19:51:26 · 518 阅读 · 0 评论 -
iOS -- TableView去掉分割线
虽然iOS去掉TalbeView分割线很简单,但是总是忘记具体怎么写的,虽然只有一句代码,也要记录下来。self.tableView.tableFooterView = UIView(frame: CGRect.zero)即可去掉分割线,这是iOS 10 Swift3.0的语法。原创 2017-01-18 18:17:25 · 596 阅读 · 0 评论 -
iOS - 移动自定义UITableViewCell
1.长按即可触发移动cell,操作逻辑简单; 2.移动cell时越靠近屏幕边缘,速度越快; 3.被移动cell的样式可以自定义; 调研如果只是实现移动UITableViewCell,系统自带的API即可搞定。 调用下面的方法[tableView setEditing:YES animated:YES];即可进入编辑模式。然后实现下面的方法即可开启移动cell。 //默认编辑模式下,每个ce原创 2016-08-29 15:11:49 · 2414 阅读 · 1 评论 -
CADisplayLink以及定时器的使用
第一种: 用CADisplayLink可以实现不停重绘。- (CADisplayLink *)link { if (!_link) { // 创建定时器,一秒钟调用rotation方法60次 _link = [CADisplayLink displayLinkWithTarget:self selector:@selector(rotation)];原创 2016-06-08 15:23:57 · 1513 阅读 · 0 评论 -
轻松几步搞定CocoaPods修复10.11不能安装问题
由于升级到10.11以后安装cocodpods难免会碰到各种问题,下面有列举出不同的解决办法,建议一个方法如果不行,把文件请了再用第二种方法,流程是这样的:正常安装-->碰到问题-->查看问题是否跟我列举出来一样-->解决办法一-->卸载-->正常安装-->解决办法二。。。。。1、分别执行下面命令卸载cocoapods和xcodeproj,如果你的机器上面有多个版本,选择All versi转载 2016-06-07 17:26:15 · 9400 阅读 · 5 评论 -
iOS -- dismissViewControllerAnimated(Swift)
我有两个面板,需要从第一个面板跳转到第二个面板,如下图:点击第一个storyboard的按钮(下一页)跳转到第二个页面,方法是:按住Ctrl键,点击鼠标右键拖出一条线到第二个面板,可以设置跳过方式,默认是从下往上推的方式。然后想点击第二个面板的按钮(返回)返回第一个面板。方法很多,这里我使用代码控制。对第二个面板创建一个文件,关联到第二个面板,按住Ctrl键,点击鼠标右键从返回按钮原创 2015-12-22 20:37:21 · 1668 阅读 · 0 评论 -
Unity3D -- 使用iOS 3DTouch功能
Unity工程在iOS平台使用3DTouch功能,完全不需要调用iOS端系统API,Unity已经提供了方法;版本: Unity5.2.3以后的版本方法: void ForcePressure() { if (Input.touchPressureSupported) { Debug.Log ("pressure:原创 2016-02-04 15:29:50 · 2844 阅读 · 0 评论 -
iOS -- 请求网络数据&数据处理
一 语言Swift,环境xcode。前提:你会一些Xcode操作。 二 用实例来说明 我们通过向中国天气网请求天气数据,然后将其解析出来。func loadWeather() { let url = NSURL(string: "http://www.weather.com.cn/data/sk/101020100.html") let原创 2016-03-31 15:07:31 · 678 阅读 · 0 评论 -
iOS -- 怎么解决could not find developer disk image
1、恭喜你的手机已经使用了最新的iOS系统,但是你用的Xcode还不支持该系统,升级Xcode到最新版本就可以了。 2、在“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport”里列出了Xcode7.0支持的设备。 把你缺失的系统型号的文件夹拖进去就可以了,至于怎么找系统型号文原创 2016-04-07 18:11:29 · 536 阅读 · 0 评论 -
Swift -- !和?的使用
Swift语言使用var定义变量,但是和别的语言不同,swift不会自动给变量赋初始值,也就是申明的变量不会有默认值,所以要求在使用之前不要对其初始化。如果在变量使用之前木有初始化就会报错:var myString : Stringprint(myString)fatal error: unexpectedly found nil while unwrapping an Optional valu原创 2016-03-28 18:04:13 · 395 阅读 · 0 评论 -
Xcode编译Undefined symbols for architecture xxx 错误总结
转自:http://my.oschina.net/ioslighter/blog/363211 每次遇到这种错误就头痛,不知道要害死多少脑细胞了,就在这里做个总结吧可能会遇到这几种错误: Undefined symbols for architecture armv7 Undefined symbols for architecture armv7s Undefined symbols fo转载 2016-04-14 14:58:07 · 810 阅读 · 0 评论 -
iOS -- 接入微信SDK包报错
一、Undefined symbols for architecture arm64: "_kSecReturnData", referenced from: +[WXOMTAKeyChain load:] in libWeChatSDK.a(MTAKeyChain.o) "_kSecMatchLimitOne", referenced from: +[WXOMTAK原创 2016-04-14 15:57:49 · 5873 阅读 · 1 评论 -
GCD使用经验与技巧浅谈
前言GCD(Grand Central Dispatch)可以说是Mac、iOS开发中的一大“利器”,本文就总结一些有关使用GCD的经验与技巧。dispatch_once_t必须是全局或static变量这一条算是“老生常谈”了,但我认为还是有必要强调一次,毕竟非全局或非static的dispatch_once_t变量在使用时会导致非常不好排查的bug,正确的如下:转载 2016-05-26 11:02:11 · 328 阅读 · 0 评论 -
iOS -- retain,copy,assign及autorelease ,strong,weak
一,retain, copy, assign区别1. 假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b。此时a 和b指向同一块内存,请问当a不再需要这块内存,能否直接释放它?答案是否定的,因为a并不知道b是否还在使用这块内存,如果a释放了,那么b在使用这块内存的时候会引起程序crash掉。2.转载 2016-05-27 16:25:47 · 300 阅读 · 0 评论 -
Objective-c 创建单例
下面是是我用的一个方法#import <Foundation/Foundation.h>#import <UIKit/UIKit.h>@interface Singleton : NSObject/* * 创建单例 */+ (Singleton *) shareManager;@end#import "Singleton.h"@implementation Singleton+ (Singl原创 2016-05-05 14:28:19 · 349 阅读 · 0 评论 -
iOS -- 读取plist表中数据到NSArray
将下表的数据打印输出来 上代码#import "ViewController.h"@interface ViewController ()@property (nonatomic, strong) NSArray * nameDict;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad原创 2016-05-18 17:46:55 · 2364 阅读 · 0 评论 -
iOS -- 定时器
代码代码:#import "ViewController.h"@interface ViewController (){ int _count; // 定时次数 int _timeNum; // 定时时间 UIView *_lineView;原创 2016-05-09 15:52:32 · 379 阅读 · 0 评论 -
Objective-C -- 字符串与数字互相转换
NSString *string = @”123”; // 1.字符串转int int intString = [string intValue];// 2.int装字符串NSString *stringInt = [NSString stringWithFormat:@"%d",intString];// 3.字符串转floatfloat floatString = [st原创 2016-05-09 16:17:55 · 29179 阅读 · 0 评论 -
iOS -- 自定义对象的存储(NSUserDefaults)
摘要 NSUserDefaults适合存储轻量级的本地数据,一些简单的数据(NSString类型的)例如密码,网址等,NSUserDefaults肯定是首选,但是如果我们自定义了一个对象,对象保存的是一些信息,这时候就不能直接存储到NSUserDefaults了NSUserDefaults 存储自定义对象目录[-]一、了解NSUserDefaults以及它可以直转载 2016-05-09 16:54:50 · 4445 阅读 · 0 评论 -
iOS -- 查看系统版本(objective-c)
我们在写iOS SDK的时候想知道当前手机的系统版本,怎么才能够使用手机系统版本,以下方法可以拿到手机系统版本。objective-c :[[UIDevice currentDevice].systemVersion doubleValue]可以拿到当前手机系统版本。你可以直接打印以下该函数看输出的结果就知道怎么使用了。——Rocky原创 2015-12-13 19:30:41 · 4391 阅读 · 0 评论