随笔分类 -  IOS编程基础

摘要:iOS消息推送的工作机制可以简单的用下图来概括:Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器。上图可以分为三个阶段:第一阶段:应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone。第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设定弹出Push通知。从上图我们可以看到:1、应用程序注册消息推送。2、iOS从APNS Server获取dev 阅读全文
posted @ 2013-10-27 23:43 I'm 小菜鸟 阅读(30876) 评论(0) 推荐(1)
摘要:注:这里网络请求用的是第三方框架:SVHTTPRequest/* 第一步: 根据应用名称搜索应用,然后根据应用绑定的ID在结果中筛选出我们要找的应用,并取出应用的AppID*/- (void)getAppID { processView = [[UIProcessViewalloc]initWithFrame:self.view.framewithText:@"检测中..."]; [processViewstartAnimating]; [self.viewaddSubview:processView]; [SVHTTPRequestPOST:@"http://i 阅读全文
posted @ 2013-09-21 19:01 I'm 小菜鸟 阅读(15470) 评论(1) 推荐(3)
摘要:TARGETS --> URL Types --> 添加 --> 在URL Schemes里填上sinaweibosso.XXXX(AppKey),Identifier这里可以随机填个名字,这样就可以了或者在info.plist文件里增加url types在url schems里填上sinaweibosso.XXXX(AppKey),也是一样的,这两个地方任选填其一都行,这两个地方只要有一个地方填写了,另一个地方都会自动生成的。 阅读全文
posted @ 2013-09-11 15:13 I'm 小菜鸟 阅读(385) 评论(0) 推荐(0)
摘要:角度转弧度: #define AngleToRadian(angle) (M_PI/180.0f)*angle以正东面为0度起点计算指定角度所对应的圆周上的点的坐标: float radian = AngleToRadian(angle); float x = center.x + cos(radian)*currentAdius; float y = center.y + sin(radian)*currentAdius; CGPoint point = CGPointMake(x, y);以正北面为0度起点计算指定角度所对应的圆周上的点的坐标: float radian = Angle.. 阅读全文
posted @ 2013-08-12 20:29 I'm 小菜鸟 阅读(7339) 评论(0) 推荐(0)
摘要:1.网上搜索字体文件(后缀名为.ttf,或.odf)2.把字体库导入到工程的resouce中3.在程序添加以下代码 输出所有字体NSArray *familyNames = [UIFont familyNames];for( NSString *familyName in familyNames ){printf( "Family: %s \n", [familyName UTF8String] );NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];for( NSString *fontName 阅读全文
posted @ 2013-08-01 13:17 I'm 小菜鸟 阅读(6367) 评论(0) 推荐(0)
摘要:注:使用UIImageWriteToSavedPhotosAlbum保存图像,UISaveVideoAtPathToSavedPhotosAlbum保存视频. 4.0后使用writeImageToSavedPhotosAlbum:metadata:completionBlock:保存元数据.- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ NSString* path = [[info objectForK... 阅读全文
posted @ 2013-03-10 22:51 I'm 小菜鸟 阅读(11491) 评论(1) 推荐(0)
摘要:缺省情况下,当设备在一定时间内没有触控动作,iOS会锁住屏幕。但有些应用程序是不需要锁住屏幕的,比如游戏,视频这类应用。可以通过设置UIApplication的idleTimerDisabled属性来指定iOS是否锁频:// 禁用休闲时钟[[UIApplication sharedApplication] setIdleTimerDisabled: YES];// 也可以使用这种语法[UIApplication sharedApplication].idleTimerDisabled = YES; 阅读全文
posted @ 2013-03-10 17:02 I'm 小菜鸟 阅读(391) 评论(0) 推荐(0)
摘要:AudioSessionInitialize(NULL, NULL, NULL, NULL); AudioSessionSetActive(true); AudioSessionAddPropertyListener(kAudioSessionProperty_CurrentHardwareOutp 阅读全文
posted @ 2013-03-10 16:50 I'm 小菜鸟 阅读(5471) 评论(0) 推荐(0)
摘要:NSDictionary *opts = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO] forKey:AVURLAssetPreferPreciseDurationAndTimingKey];AVURLAsset *urlAsset = [AVURLAsset URLAssetWithURL:videoURL options:opts];AVAssetImageGenerator *generator = [AVAssetImageGenerator assetImageGeneratorWithAsset:ur 阅读全文
posted @ 2013-03-01 16:29 I'm 小菜鸟 阅读(688) 评论(0) 推荐(0)
摘要:在iphone开发中,设置navigationController中返回按钮的标题,默认为前一个视图中标题的title(请注意,必须是前一个视图控制器!!!backBarButtonItem属性是对应于本视图控制器的下一级控制器的返回按钮,区别于leftBarButtonItem)。如果设置,在前一个视图中写下:20UIBarButtonItem*temporaryBarButtonItem=[[UIBarButtonItemalloc]init]; temporaryBarButtonItem.title=@"Back"; self.navigationItem.back 阅读全文
posted @ 2013-02-17 00:10 I'm 小菜鸟 阅读(4974) 评论(0) 推荐(0)
摘要:1.将app的BadgeNumber设为0[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];2.如果BadgeNumber本身就是0的情况,可以先将其设1再设置成0[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];3.如果以上的办法都不好使的话,那就用本地通知欺骗一下。UIApplicati 阅读全文
posted @ 2013-02-02 12:05 I'm 小菜鸟 阅读(323) 评论(0) 推荐(0)
摘要:iPhone4采用了一个叫做retina的屏幕,尺寸和老的iphone一样大,但是分辨率提高了4倍,看起高清的图来,爽太多了,根本看不到像素点.对于老的app来说,在iphone4中运行,会自动用4个像素替代原来的一个像素,这样就不用更改代码,使得老app可以自然的在iphone4中运 行,但是UI的效果会有些蒙蒙的,不是最佳的效果,要达到最佳,必须为原来的图片资源,重新设计一份640*960的高清版本,这样才能在iphone4 内达到最佳的UI效果~下面就来简单总结下在ios4中怎么样使用高清图,首先要了解一些概念:Points Versus Pixels:When using native 阅读全文
posted @ 2013-02-02 11:46 I'm 小菜鸟 阅读(279) 评论(0) 推荐(0)
摘要:iPhone开发实现splash画面非常简单,做一张名为Default.png的欢迎界面图片放在Supporting Files文件夹下替换掉默认的Default.png(为了适配,需要做Default.png、Default@2x.png、Default-568h@2x.png三种尺寸各一张)。 在XXXAppDelegate.m的- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions方法中插入以下一行代码:// Insert dela 阅读全文
posted @ 2013-02-02 11:18 I'm 小菜鸟 阅读(5867) 评论(0) 推荐(0)
摘要:今天看到一段代码,对ifdef的概念比较模糊,于是去学习了一下,找到一个很好的解释,如下:在工程设置里有一些设置会对该工程自动产生一系列的宏,用以控制程序的编译和运行。就好象楼上说的一样,如果你把代码夹在#ifdefDEBUG和对应的#endif中间,那么这段代码只有在调试(DEBUG)下才会被编译。也就是说,如果你在RELEASE模式下,这些代码根本就不会存在于你的最终代码里头。你可以手动实现DEBUG的定义如:#defineDEBUG那么你的#ifdefDEBUG就会是真的。夹在中间的代码会进行编译,可以说,这些宏代码本身是面向编译器使用的,不要用来实现你的业务逻辑代码,这样会带来很不好. 阅读全文
posted @ 2013-02-01 20:23 I'm 小菜鸟 阅读(328) 评论(0) 推荐(0)