![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IOS学习笔记
zh_2017
这个作者很懒,什么都没留下…
展开
-
怎麽去掉Xcode工程中的某種類型的警告
XCode警告 问题描述 在我们的项目中,通常使用了大量的第三方代码,这些代码可能很复杂,我们不敢改动他们,可是作者已经停止更新了,当sdk升级或者是编译器升级后,这些遗留的代码可能会出现许许多多的警告,那么我们有没有办法去掉这些烦人的警告,不然一个工程几百个警告,你看着怎么都不爽吧。我们怎么去掉警告呢? 1. 最直接、最一劳永逸、最安全的方式,直接找到警告的那段代码转载 2017-10-25 16:37:35 · 208 阅读 · 0 评论 -
iOS9获取系统语言改变了
iOS7是zh-Hans: 简体zh-Hant: 繁体iOS8是zh-Hans: 简体zh-Hant: 繁体zh-HK: 香港繁体(增加)iOS9是zh-Hans-CN: 简体(改变)zh-Hant-CN: 繁体(改变)zh-HK: 香港繁体 zh-TW: 台湾繁体(增加)iOS9时,中英文都在后面加了地区,如原创 2016-02-16 11:17:15 · 1155 阅读 · 0 评论 -
此证书签发者无效
1,按照你那个链接下载,https://developer.apple.com/certificationauthority/AppleWWDRCA.cer,并安装。2, 在keychains里选择login,然后点选Certificates,在这个界面,选择工具栏的View -> Show Expired Certificates,这时候你会发现一个过期的“WWDR Certificat转载 2016-02-15 16:14:40 · 1684 阅读 · 0 评论 -
Search Paths 之 Framework Search Paths、Library Search Paths、Header Search Paths
进入Build Settings里面设置:Framework Search Paths: 这里通常填framework的路径;Library Search Paths: 这里通常填.a文件的路径;Header Search Paths: 头文件搜索路径设置。双击查看时 $(SRCROOT)表示运行文件地址的上一级$(PROJECT_DIR)工程目原创 2016-03-02 17:03:13 · 6418 阅读 · 0 评论 -
iOS编译报:linker command failed with exit code 1 (use -v to see invocation)
百度答案: 1、错误信息中出现了某个类的名字,去原文件中看看#import了哪些第三方库,把这些库挨个注释排除,找到出错的那个库,然后按照官方提供的步骤重新添加一遍。2、看看是不是有新添加的文件跟之前文件同名 3、问题大多主要是出现在Ohter Linker Flags 这个属性,找到Build settings->Linking->Other Linke原创 2016-03-02 16:26:43 · 469 阅读 · 0 评论 -
支付宝集成
最近在升级之前的支付宝集成,中间遇到一些问题,下面记录下集成步骤。1、首先在https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1下载移动支付功能的SDK和Deme。2、将下载的SDK中的下面文件拷到一个新创建的文件夹aliPaySDK;3、然后将ali原创 2016-03-02 16:06:13 · 285 阅读 · 0 评论 -
BitCode
Bitcode是什么?说的是bitcode是被编译程序的一种中间形式的代码。包含bitcode配置的程序将会在App store上被编译和链接。bitcode允许苹果在后期重新优化我们程序的二进制文件,而不需要我们重新提交一个新的版本到App store上。要么让第三方库支持,要么关闭target的bitcode选项。实际上在Xcode 7中,我们新建一个iOS程序时,bi转载 2016-01-29 17:57:12 · 448 阅读 · 0 评论 -
IOS之URL Scheme的使用(可以在app之间调用传递数据)
第一:什么是URL Scheme 与Android的URL Scheme类似,是为方便app之间互相调用而设计的。你可以通过一个类似URL的链接,通过系统的OpenURl来打开该app,并可以传递一些参数。每个URL必须能唯一标识一个APP,如果你设置的URL与别的APP的URL冲突,此时,你的APP不一定会被调用起来,原因是当APP在安装的时候就已经在系统里面注册了此APP的URL转载 2016-01-24 17:49:41 · 1125 阅读 · 0 评论 -
iOS9 中不支持http
今天升级Xcode 7.0 bata发现网络访问失败。输出错误信息The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.Google后查证,iOS9引入了新特性App Transport Security (AT转载 2016-01-24 17:37:39 · 686 阅读 · 0 评论 -
ios中alloc和new的区别
1.在实际开发中很少会用到new,一般创建对象咱们看到的全是[[className alloc] init]但是并不意味着你不会接触到new,在一些代码中还是会看到[className new],还有去面试的时候,也很可能被问到这个问题。2.那么,他们两者之间到底有什么区别呢我们看源码:+ new { id newObject = (*_alloc)((Class)self, 0); C转载 2016-01-24 17:16:41 · 4237 阅读 · 0 评论 -
iOS开发之Xcode6之后不再自动创建Pch预编译文件
在Xcode6之前,创建一个新工程xcode会在Supporting files文件夹下面自动创建一个“工程名-Prefix.pch”文件,也是一个头文件,pch头文件的内容能被项目中的其他所有源文件共享和访问。是一个预编译文件。 首先说一下pch的作用:1.存放一些全局的宏(整个项目中都用得上的宏)2.用来包含一些全部的头文件(整个项目中都用得上的头文件转载 2016-01-21 17:43:54 · 383 阅读 · 0 评论 -
Xcode添加常用的代码片段 (code sinppets)
通过code snippets,我们可以创建一些可重用的代码块,并且在任何需要的地方很容易的就可以使用这些代码块。这可以节省输入需要的操作和时间。并且,一旦你学会使用code snippets,会发现你可以创建并扩充自己的code snippet library。在对话框需要我们填入一些基本信息从上到下依次是:Title代码片段的标题Summary代转载 2015-09-16 12:45:14 · 548 阅读 · 0 评论 -
NSPredicate
NSPredicateCocoa提供了一个NSPredicate类,它用来指定过滤器的条件原理类似于数据库查询17.1 创建谓词predicateWithFormat:NSPredicate *predicate;predicate = [NSPredicate predicateWithFormat:@"name == 'Herbie'转载 2015-06-10 22:09:17 · 807 阅读 · 0 评论 -
ios数据存储方式FMDB
从网上下载FMDB的原码,将其拖入到项目中,然后在Link Binary With Libraries中添加libsqlite3.dylib,就可以用了 实现如下: [plain] view plaincopyprint?#import "ViewController.h" #import "FMDatabase.h" #import "FMD转载 2015-06-10 22:52:03 · 331 阅读 · 0 评论 -
AFNetworking get和post请求
1、发一个get请求 AFHTTPClient *bClient =[AFHTTPClient clientWithBaseURL [NSURLURLWithString:@"http://xxxx.com"]]; [bClientgetPath:nil parameters:nil success:^(AFHTTPRequestOperation*op转载 2015-05-18 18:19:55 · 383 阅读 · 0 评论 -
@synthesize和@dynamic区别
在声明property属性后,有2种实现选择@synthesize编译器期间,让编译器自动生成getter/setter方法。当有自定义的存或取方法时,自定义会屏蔽自动生成该方法 @dynamic告诉编译器,不自动生成getter/setter方法,避免编译期间产生警告然后由自己实现存取方法或存取方法在运行时动态创建绑定:主要使用在CoreData的实现NSMana转载 2015-06-08 22:01:03 · 278 阅读 · 0 评论 -
SSkeychain框架替换KeychainItemWrapper
iOS的SDK中提供的Security.framework框架可以用于保存一些机密数据,比如用户的账号和密码等信息,不过大部分开发者都不会去直接使用它,因为它比较麻烦,需要去了解的东西比较多。不过官方也提供了样例代码(【下载地址】),其中KeychainItemWrapper类是对下层代码的封装,我们可以直接使用它来安全地保存和获取信息。因为是官方提供,所以使用它的人也比较多,网上关于如何使用它的转载 2016-02-17 18:14:20 · 1598 阅读 · 0 评论 -
use of '@import' when modules are disabled
解决方法:修改target -> build settings -> All | Combined -> Apple LLVM Compiler 7.0 - Language 中 Enable Objective-C Exceptions为YES原创 2016-02-18 15:50:18 · 1595 阅读 · 0 评论 -
GBK编码转NSString
将获取到的GBK 编码的字符解析成正常的汉字 方法: //声明一个gbk编码类型 NSStringEncoding gbkEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); //使用如下方法 将获取到的数据按照gbkEncoding的方式进行编码,结果将是正常的汉字原创 2016-02-22 18:02:53 · 354 阅读 · 0 评论 -
转:Objective-C 和 Core Foundation 对象相互转换的内存管理总结
iOS允许Objective-C 和 Core Foundation 对象之间可以轻松的转换,拿 NSString 和 CFStringRef 来说,直接转换豪无压力:[cpp] view plain copy CFStringRef aCFString = (CFStringRef)aNSString; NSString *aNSString = (NSStr转载 2017-10-25 10:27:50 · 354 阅读 · 0 评论 -
iOS性能优化之内存管理:Analyze、Leaks、Allocations的使用和案例代码
一. 一些相关概念很多人应该比较了解这块内容了...可以权当复习复习...1.内存空间的划分: 我们知道,一个进程占用的内存空间,包含5种不同的数据区:(1)BSS段:通常是存放未初始化的全局变量;(2)数据段:通常是存放已初始化的全局变量。(3)代码段:通常是存放程序执行代码。(4)堆:通常是用于存放进程运行中被动态分配的内存段,OC对象(所有继承自NSObject的对象转载 2017-10-24 15:57:25 · 1072 阅读 · 0 评论 -
objectAtIndex数组越界
创建一个NSArray的分类,写一个方法对objectAtIndex进行处理。.h文件代码:#import @interface NSArray (Extend)/*! @method objectAtIndexCheck: @abstract 检查是否越界和NSNull如果是返回nil @result 返回对象 */- (id)objectAtIndexC原创 2017-10-10 10:55:03 · 592 阅读 · 0 评论 -
iOS开发基础:如何使用类别(Category)
Objective-C类别也叫分类,是一种不需要继承即可给类添加方法的语法技术。下面我们来看看如何使用它。添加类别类别声明模板:h文件:@interface ClassName (XSD_CategoryName)- (void)xsd_addedMethod;@endm文件:@implementation ClassName (XSD_CategoryName)-转载 2017-10-10 10:33:14 · 2325 阅读 · 0 评论 -
KeychainItemWrapper 'Couldn't add the Keychain Item.' - Xcode 8
KeychainItemWrapper是iOS开发中经常用来安全保存账户名和密码的方式。更新到Xcode 8之后,Keychain突然用不了了,KeychainItemWrapper ‘Couldn’t add the Keychain Item.报错后来发现原来Xcode8增加了一个keychain的许可设置,见下图:只要在工程名->TARGETS->Capabili原创 2017-10-10 10:04:40 · 662 阅读 · 0 评论 -
ios 拨打电话
1、推荐这种NSMutableString str=[[NSMutableString alloc] initWithFormat:@"tel:%@",@"18866666666"];UIWebView callWebview = [[UIWebView alloc] init];[callWebview loadRequest:[NSURLRequest requestWithURL原创 2017-07-14 12:25:50 · 238 阅读 · 0 评论 -
实现图片轮播
http://blog.csdn.net/dolacmeng/article/details/45417995转载 2017-07-14 12:22:13 · 329 阅读 · 0 评论 -
Cornerstone闪退
mac os升级到10.12后,Cornerstone闪退解决方法一:F3 --- 其他 ---- 钥匙串; 选择左边导航的 “证书”,检查Shiji kunlun Secure Server CA 证书是否可信任,设置成永久信任。再重新设置svn连接信息。原创 2017-04-19 16:01:25 · 5814 阅读 · 7 评论 -
xcode8 iOS10上关于NSPhotoLibraryUsageDescription NSCameraUsageDescription 等问题
最近升级了Xcode8.0,真是很多坑啊,填完一个来另外一个,今天又遇到了一个,用Xcode8.0上传项目时被驳回说是info.plist里面没有设置NSPhotoLibraryUsageDescription、NSCameraUsageDescription、NSContactsUsageDescription、NSMicrophoneUsageDescription等字段,之前这些都是预设的不转载 2016-10-08 10:06:38 · 724 阅读 · 0 评论 -
iOS9的调整
一、iOS9 bitcode首先最大的问题就是坑货xcode7,xcode7默认是打开bitcode的,bitcode是苹果为了解决他自己以后的应用可以随意更换硬件的处理做的准备也就是arm指令集和x64指令集的问题那么我们的工程如果你采用了别人封装的第三方库,那么好了,会爆以下错误ld: ‘/UsersFramework/SDKs/PolymerPay/Library/mobStat/li转载 2016-04-27 10:44:06 · 367 阅读 · 0 评论 -
限制一个UITextField的输入长度
[textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];- (void)textFieldDidChange:(UITextField *)textField{ if (textField == self.title原创 2016-04-06 16:51:18 · 268 阅读 · 0 评论 -
经验之谈-记录
一. XMPPFramework:robbiehanson/XMPPFramework · GitHub,这个如果是做过聊天的通信通信可能会用过,本人因为工作原因,两年前第一次接触这个代码,就对这个大牛非常崇拜。代码值得学习的东西非常多。作者在开发这个框架的时候,同时也开发了非常多的基础库,都非常值得学习。1. 首先是插件是框架设计,设计的非常优雅,功能强大易扩展,而且写的很简洁,易懂转载 2016-02-24 17:59:39 · 345 阅读 · 0 评论 -
iOS开发~CocoaPods使用
简要步骤:1、新建一个xcode项目2、打开终端,cd到项目总目录;(如:cd Desktop > cd PodTests (可能需要/))3、建立Podfile(配置文件),终端输入 vim Podfile4、键盘输入 i,进入编辑模式,输入platform :ios, '7.0' pod 'MBProgressHUD', '~>转载 2016-02-24 17:12:41 · 431 阅读 · 0 评论 -
IOS8 IOS9 高德地图弹出是否允许定位框功能代码
第一步:在info.plist文件添加两个字段NSLocationAlwaysUsageDescription - > YESNSLocationWhenInUseUsageDescription - > YES第二步:- (CLLocationManager *)locationManager{原创 2016-03-09 17:56:02 · 4308 阅读 · 0 评论 -
iOS-常用框架
普通的iOS开发项目基本就是网络、本地存储+一些狂拽炫酷的动画。-------------------- 割 ---------------------网络AFNetworkingJSONKitReachabilityEGOTableViewPullRefreshLoadMoreTableFooterView网络请求首选AFNetwork转载 2016-02-24 12:39:51 · 309 阅读 · 0 评论 -
数据库 - ios数据存储方式FMDB
从网上下载FMDB的原码,将其拖入到项目中,然后在Link Binary With Libraries中添加libsqlite3.dylib,就可以用了 实现如下: [plain] view plaincopyprint?#import "ViewController.h" #import "FMDatabase.h" #import "FMD转载 2015-06-08 22:41:43 · 348 阅读 · 0 评论 -
数据库 - ios中的coredata的使用
Core Data数据持久化是对SQLite的一个升级,它是ios集成的,在说Core Data之前,我们先说说在CoreData中使用的几个类。 (1)NSManagedObjectModel(被管理的对象模型) 相当于实体,不过它包含 了实体间的关系 (2)NSManagedObjectContext(被管理的对象上下文) 操作实际转载 2015-06-08 22:39:56 · 338 阅读 · 0 评论 -
AFNetwork 作用和用法详解
AFNetworking是一个轻量级的iOS网络通信类库。它建立在NSURLConnection和NSOperation等类库的基础上,让很多网络通信功能的实现变得十分简单。它支持HTTP请求和基于REST的网络服务(包括GET、POST、 PUT、DELETE等)。支持ARC。Github地址:https://github.com/AFNetworking/AFNetworking转载 2015-05-19 11:04:32 · 686 阅读 · 0 评论 -
iOS:ARC相关知识,assign/copy/retain/strong/weak/readyonly/readwrite/nonatomic/atomic
ARC 自动引用计数ARC不是垃圾回收,而是编译器自动插入代码来减少程序员的代码输入和失误。 同时比垃圾和效率要高,因为其不影响运行时间,相当于自己管理内存。 总是通过属性来管理实例变量(init/dealloc除外),在dealloc中释放所有属性。dealloc中会自动加入释放实例变量的代码,因此不必要手段增加释放实例变量的代码。不需要手动调用转载 2014-11-13 16:37:07 · 378 阅读 · 0 评论 -
ios开发之数据的持久化存储机制
IOS中数据的持久化保存这块内容,类似于Android中文件的几种常见的存储方式。对于数据的持久化存储,ios中一般提供了4种不同的机制。1.属性列表2.对象归档3.数据库存储(SQLite3)4.苹果公司提供的持久性工具Core Data。其实储存的形式无非就这么几种,而我们还必须要关心的是,这些文件会被放置在那个文件下,然后如何读取。也就是说:IOS上数据存转载 2014-09-29 15:43:20 · 295 阅读 · 0 评论 -
CornerStone配置SVN
CornerStone是Mac OS X系统下非常好用的一款svn工具,至XCode5之后,本人觉得XCode5的Svn实在让人不得要领,而CornerStone配置虽不难,但也有几个需要注意的地方,分享给大家,也希望大家能多提意见 声明:CornerStone是付费版128人民币,本文提供的破解版来自网络,仅供开发者学习交流使用,不可用作商业用途已经安装了的小伙伴请直接看三步骤转载 2014-11-07 11:21:58 · 627 阅读 · 0 评论