Objective-C
SemyonXu
这个作者很懒,什么都没留下…
展开
-
ios项目icon和default图片命名规则
一、应用图片标准iOS控件里的图片资源,苹果已经做了相应的升级,我们需要操心的是应用自己的图片资源。就像当初为了支持iPhone 4而制作的@2x高分辨率版本(译者:以下简称高分)图片一样,我们要为iPad应用中的图片制作对应的高分版本。我知道不少开发者很有预见性的早在iOS 5.0 SDK上就完成了这一步升级。可是我还是要强调一点,那就是之前 Michael Jurewitz (@Jury)转载 2014-09-18 16:56:44 · 459 阅读 · 0 评论 -
urlEncode
NSString *sdfsa = @"你好啊xxcxcxc="; NSString *plat_orderid_1 = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)sdfsa, NULL,CFSTR("!*'();:原创 2014-09-19 15:21:57 · 473 阅读 · 0 评论 -
xcode 终端找不到路径换路径方法
环境:1. 操作系统:os x 10.8(从10.7.4升级过来的)2.xcode 4.4xcode 4.4和以前的版本不一样,不需要安装,下载dmg打开里面就是xcode.app,复制到硬盘中即可我先删除了老的xcode 4.3,然后把xcode 4.4复制到applications里通过命令行编译以前写的程序,xcodebuild -conf转载 2014-08-07 11:07:18 · 802 阅读 · 0 评论 -
IOS7开发~Xcode5制作framework
一、Framework 简介(Introduction to Framework Programming Guide)Mac OS X 扩展了 framework 的功能,让我们能够利用它来共享代码和资源。通过 framework 我们可以共享所有形式的资源,如动态共享库,nib 文件,图像字符资源以及文档等。系统会在需要的时候将 framework 载入内存中,多个应用程序可以同时使用同转载 2014-08-07 10:48:24 · 439 阅读 · 0 评论 -
ios --- 动态获取键盘高度
需要手动调用 registerForKeyboardNotifications 方法,其他两个会自动调用,弹出的键盘高 216(输入英文时候),ios 5 系统的@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad]; [self registerForKeyb转载 2014-08-06 22:31:38 · 696 阅读 · 0 评论 -
ios xib适配iPhone,iPad语句
self.window = [[[UIWindowalloc] initWithFrame:[[UIScreenmainScreen] bounds]] autorelease]; // Override point for customization after application launch. if ([[UIDevicecurrentDevice] us原创 2014-07-29 12:13:24 · 1118 阅读 · 0 评论 -
ios 正则表达式
1.去RegexKitLite下载类库,解压出来会有一个例子包及2个文件,其实用到的就这2个文件,添加到工程中。 备用地址:http://www.cocoachina.com/bbs/job.php?action-download-pid-135286-tid-18111-aid-11143.html - Lv2.工程中添加libicucore.dylib frameworks转载 2014-07-25 14:46:19 · 369 阅读 · 0 评论 -
创建你自己的 iOS 框架
如果你是IOS的新手,并有.net开发的背景(就像我一样),你可能到处去找,哪里有dll呢?其实,IOS平台是使用框架而不是dll,框架里面包含公共头文件和二进制文件。很不幸,XCode并不支持你自己去创建框架。对于一个开发人员,这是个大问题,b/c缺少框架,我们就不得不去创建一个静态库文件。但是使用lib文件是一件痛苦的事情。实质上,向工程添加库的引用,并告诉功能工程在哪里可以找转载 2014-07-24 19:23:04 · 410 阅读 · 0 评论 -
iOS上如何制作自己的Framework呢?
iOS上如何制作自己的Framework呢?(不是静态库)请看stackoverflow上的提问:http://stackoverflow.com/questions/4065052/how-to-build-a-framework-or-library-for-other-developers-the-secure-way解决办法1,通过命令行脚本转载 2014-07-24 19:04:16 · 520 阅读 · 0 评论 -
sqlite 数据类型
一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下五种数据类型:1.NULL:空值。2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。3.REAL:浮点数字,存储为8-byte IEEE浮点数。4.TEXT:字符串文本。5.BLOB:二进制对象。但实际上,sqlite3也接受如下的数据类转载 2014-07-24 14:50:02 · 459 阅读 · 0 评论 -
IOS 5 6 7适配
最近一直在做app的iOS 6和7的同时适配工作,所以在此介绍一下系统与设备的兼容问题。一、Base SDK与Deployment Target一个项目(Project)可以有多个目标(Target),每个目标可以指定不同的设置(例如支持不同的系统版本,引用不同的Framework等)。项目设置会覆盖默认设置,而每个目标的设置则会覆盖项目设置。在Xcode的项目浏览窗口中点击项目,转载 2014-07-23 20:21:01 · 678 阅读 · 0 评论 -
ios开发使用extern访问全局变量
使用extern关键字法: 1 、新建Constants.h文件(文件名根据需要自己取),用于存放全局变量; 2、 在Constants.h中写入你需要的全局变量名,但是在定义时不能对其进行初始化,否则就出错例如: NSString *url;//指针类型 int coun转载 2014-07-23 14:04:03 · 723 阅读 · 0 评论 -
IOS UIScrollView常用代理方法
IOS UIScrollView代理方法有很多,从头文件中找出来学习一下//只要滚动了就会触发- (void)scrollViewDidScroll:(UIScrollView *)scrollView; {// NSLog(@" scrollViewDidScroll"); NSLog(@"ContentOffset x转载 2014-08-14 18:00:54 · 736 阅读 · 0 评论 -
图片拉伸方法
UIImage *bgimage = [UIImageimageNamed:@"camera-button.png"];//图片拉伸方法 bgimage = [bgimage stretchableImageWithLeftCapWidth:floorf(bgimage.size.width/2)topCapHeight:floorf(bgimage.size.height/2)原创 2014-08-13 10:11:22 · 389 阅读 · 0 评论 -
iPhone 真机调试安装流程
一、对于真机调试,首先要在苹果网站上注册APP ID,以及购买iPhone Develop Program(iDP) 开发者授权,99美元。然后要创建证书请求CSR,创建步骤如下: 1、Mac OS 中,打开应用程序,找到 钥匙串访问(Keychain Access)工具打开主菜单 - 证书助理(Certificate Assistant)-从证书代理请求证书(Request转载 2014-08-12 09:47:21 · 449 阅读 · 0 评论 -
ios 制作自已的framework-2
ios中我们写的代码有时不愿意让别人看到,可能对它进行封装,生成一个静态库如典型的.a,还有一种就是和苹果自带的库一样的后缀名为.framework的库,个人推荐使用.framework,因为.a不仅要装其添加进去,还要将对应的头文件添加到项目中。1.新建一个静态库工程。file--new--project,弹出框中选择Ios--framework&library中的coc转载 2014-07-29 16:56:31 · 496 阅读 · 0 评论 -
IOS的Bundle资源束制作
bundle制作其实是前面制作静态库的一个衍生。在静态库的制作中,很多时候我们的静态库也是带着文件,图片和多媒体资源的。若只是直接加入到项目中也是可以,但是,考虑到方便管理(方便插件使用者的管理),我们希望把插件的资源文件打成一个包来管理。比如,我们项目中有用到的银联支付插件。这样我们直接添加xxxx.bundle文件到项目中就可以,这样在以后如果要删除的话转载 2014-07-24 20:36:51 · 437 阅读 · 0 评论 -
NSUserDefaults的使用
首先 KeychainItemWrapper *wrapper = [[KeychainItemWrapperalloc]initWithIdentifier:@"Account Number"accessGroup:@"YOUR_APP_ID_HERE.com.yourcompany.AppIdentifier"];原创 2014-07-24 15:53:27 · 465 阅读 · 0 评论 -
iOS钥匙串KeyChain相关参数的说明
#pragma mark- 密钥类型//密钥类型键//CFTypeRef kSecClass////值//CFTypeRef kSecClassGenericPassword //一般密码//CFTypeRef kSecClassInternetPassword //网络密码//CFTypeRef k转载 2014-07-24 15:39:50 · 1682 阅读 · 0 评论 -
ios记住密码KeychainItemWrapper
//保存密码 KeychainItemWrapper *wrapper = [[KeychainItemWrapperalloc]initWithIdentifier:@"Account Number"accessGroup:@"YOUR_APP_ID_HERE.com.yourcompany.AppIdentifier"]; //保存账转载 2014-07-23 15:11:04 · 1724 阅读 · 0 评论 -
IOS开发之----两种保存用户名和密码实现记住密码库
使用Keychain存储用户敏感信息iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储。相对于NSUserDefaults、文件保存等一般方式,keychain保存更为安全,而且keychain里保存的信息不会因App被删除而丢失,所以在重装App后,keychain里的数据还能使用。从ios转载 2014-07-23 13:36:57 · 1129 阅读 · 0 评论 -
让iOS应用支持不同版本的系统与设备
一、Base SDK与Deployment Target一个项目(Project)可以有多个目标(Target),每个目标可以指定不同的设置(例如支持不同的系统版本,引用不同的Framework等)。项目设置会覆盖默认设置,而每个目标的设置则会覆盖项目设置。在Xcode的项目浏览窗口中点击项目,在TARGETS中选择某个目标,即可在右侧的“Build Settings”中看到默认设置、项目转载 2014-07-23 00:05:24 · 530 阅读 · 0 评论 -
AFNetworking的使用
1.下载AFNetworking资源包 https://github.com/AFNetworking/AFNetworking。2.将资源包添加到工程文件。3.在工程的Supporting File群组中打开预编译头文件XXX-Prefix.pch。然后在别的import后面添加如下一行代码#import “AFNetworking”将AFNetworking添加到预编译转载 2014-08-20 09:59:55 · 392 阅读 · 0 评论 -
uiview位置前后
将一个UIView显示在最前面只需要调用其父视图的 bringSubviewToFront()方法。将一个UIView层推送到背后只需要调用其父视图的 sendSubviewToBack()方法。转载 2014-08-14 18:05:09 · 604 阅读 · 0 评论 -
获取ios的MAC地址
#include // Per msqr#include #include #include #pragma mark MAC// Return the local MAC addy// Courtesy of FreeBSD hackers email list// Accidentally munged during pre转载 2014-08-14 17:32:17 · 486 阅读 · 0 评论 -
支付宝在ios应用上的开发[转]
前奏现在随着移动开发的快速发展,越来越多的应用要求在线支付功能。最近做了一个关于支付宝支付功能的应用,在使用支付宝的过程中,遇到一些不必要的弯路,因此,写了这篇文章总结一下关于ios开发如何使用支付宝。正文首先,我们需要支付宝的功能,应该去支付宝的开发平台,下载sdk以及demo。第一步、将需要的文件,静态库等拖入工程中,这里有:include,libs,Utili转载 2014-07-29 21:33:59 · 629 阅读 · 0 评论 -
IOS 点击空白处隐藏键盘的几种方法
IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,对于用户体验来说很不友好,我们可以实现点击键盘以外的空白区域来将键盘隐藏,以下我总结出了几种隐藏键盘的方法:首先说明两种可以让键盘隐藏的Method:1、[view endEditing:YES] 这个方法可以让整个view取消第一转载 2014-07-28 21:05:53 · 538 阅读 · 0 评论 -
iOS-生成Bundle包-引入bundle-使用bundle
在我们使用第三方框架时,常常看到XXX.bundle的文件。我们找到该文件,显示包内容,大致看到很多资源文件:图片、配置文本、XIB文件……什么是Bundle文件?简单理解,就是资源文件包。我们将许多图片、XIB、文本文件组织在一起,打包成一个Bundle文件。方便在其他项目中引用包内的资源。Bundle文件的特点?Bundle是静态转载 2014-07-24 20:14:22 · 680 阅读 · 0 评论 -
开发iOS 6和iphone5版本与之前版本差异总结
1.开发iphone5和ios6版本最低需要使用xcode4.5,而xcode4.5不再支持armv6即:iOS4.3.3以下的系统.不被支持的硬件设备包括:iPod 2nd gen, iPhone 3G 或更老的iPhone例如我打包时的错误提示就是:warning: iOS deployment targets lower than 4.3 are not suppor转载 2014-07-23 20:44:36 · 495 阅读 · 0 评论 -
iOS中常用的四种数据持久化方法简介
iOS中的数据持久化方式,基本上有以下四种:属性列表、对象归档、SQLite3和Core Data1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults standardUserDefaults]就够用了@interface User : NSObject @property (nonatomic, assign) NSInteg转载 2014-07-23 17:08:31 · 416 阅读 · 0 评论 -
AFNetworking、MKNetworkKit和ASIHTTPRequest对比
之前一直在使用ASIHTTPRequest作为网络库,但是由于其停止更新,iOS7上可能出现更多的问题,于是决定更换网络库。目前比较流行的网络库主要有AFNetworking和MKNetworkKit,经过一番google后,得出这三个库之间的比较如下: AFNetworkingMKNetworkKitASIHTTPRequest转载 2014-07-23 00:04:04 · 398 阅读 · 0 评论 -
textfeild输入长度和键盘弹起输入框上移
1.控制输入框输入的位数使用xib的时候注意:textField的代理使用xib不要用代码-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ NSMutableString *te原创 2014-07-22 15:56:40 · 705 阅读 · 0 评论 -
iOS应用程序生命周期(前后台切换,应用的各种状态)详解
iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受到系统的很多限制,这样可以提高电池的使用和用户体验。//开发app,我们要遵循apple公司的一些指导原则,原则如下:1、应用程序的状态状态如下:Not running转载 2014-08-25 15:46:41 · 367 阅读 · 0 评论 -
ios 调用短信接口发送指定内容的消息
- (void)showSMSPicker { Class messageClass = (NSClassFromString(@"MFMessageComposeViewController")); if (messageClass != nil) { if ([messageClass canSendText]) { [self转载 2014-09-21 20:21:00 · 638 阅读 · 0 评论 -
GCD的使用
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。dispatch queue分成以下三种:1)运行在主线程的Main queue,通过dispatch_get_main_queue获取。/*!* @function dispatch_get_main_queue** @abstract* Returns th转载 2014-08-25 15:54:50 · 362 阅读 · 0 评论 -
ios发送短信功能
- (void)showSMSPicker { Class messageClass = (NSClassFromString(@"MFMessageComposeViewController")); if (messageClass != nil) { NSLog(@"1111"); if ([messageClass canSendT原创 2014-09-22 12:09:11 · 395 阅读 · 0 评论 -
framework的合并
打开终端。输入pwd 先看一下当前所在的目当路径。使用ls 查看当前目录下的文件夹。cd /users/[用户名]/Desktop/fmwksqlite/DerivedData/fmwksqlite/build/products/release-iphoneos/tgfmwk.framework然后使用lipo -info tgfmwk 查看一下库的信息。看到输出Non-f转载 2014-09-22 10:18:48 · 629 阅读 · 0 评论 -
自定义uiview 实现类似alertview的效果
今天做这种背景bian效果原创 2014-09-10 17:36:50 · 569 阅读 · 0 评论 -
开始iOS 7中自动布局教程
你是否曾经想让你的app在横竖屏方向上看起来都表现良好而受挫?是否在做支持iPhone和iPad屏幕布局界面时几近大小便失禁?今天我将给你带来好消息! 一直为大小相同的屏幕设计一个用户界面并不难,但如果屏幕的尺寸改变的话,UI元素的位置和大小也需要相应的做出改变。 到目前为止,如果你的设计相当的复杂,那么你必须编写大量的代码来适应这样的布局。你应该很高兴,现在这样的转载 2014-09-11 23:24:20 · 484 阅读 · 0 评论 -
iOS 8 Size Classes初探
OS8新特性,Size Classes,是对老式UI思路的全新抽象:把各个设备屏幕(iphone4,5,6, ipad,iwatch?)以及它们的屏幕旋转状态都抽象成屏幕Size的变化,将这些Size归纳成几个类别(Class)宽(正常,任意, 紧凑),高(正常,任意, 紧凑)3x3共9种Size,每种Size都可以设置特定的一套布局,如果不特殊指定,默认是在(宽任意,高任转载 2014-09-12 17:04:18 · 601 阅读 · 0 评论