iPhone 3.0 SDK开发秘籍笔记(第一章 第二章)

示例代码:http://github.com/erica/iphone-3.0-cookbook-/tree

1.4 平台限制

  1. 每个应用程序最大不能超过2GB,目前3g网络好像不能下载大于20MB的应用
  2. 经验法则:当应用程序所占内存大约20MB时,iPhone会警告应用程序委托和UIViewController,委托收到applicationDidReceiveMemoryWarning:回调,视图控制器收到didReceiveMemoryWarning;当内存占用大约30MB是,iPhone OS会关闭应用程序
  3. iPhone屏幕一次最多支持5点触摸操作

2.12 使用编译指令

为了检测代码是针对模拟器还是针对IPhone编译,可以使用目标定义:TARGET_IPHONE_SIMULATOR和TARGET_OS_IPHONE。这两个宏定义在TargetConditionals.h头文件
#if TARGET_IPHONE_SIMULATOR
   NSString *hello = @"Hello, iOS Simulator!";
#else
   NSString *hello = @"Hello, iOS device!";
#endif

#if TARGET_OS_IPHONE
   #import <UIKit/UIKit.h>
#else
   #import <Cocoa/Cocoa.h>
#endif

可以检查系统版本,宏在 Availability.h头文件
#ifdef _USE_OS_3_OR_LATER
    #import <MapKit/MapKit.h>
#endif
还可以检查运行程序的最低版本:
#if __IPONE_OS_VERSION_MIN_REQUIRED<30000
    Pre-3.0 code
#else
    3.0 code
#endif
    OS版本的值使用一下基命名模式:

#define __IPHONE_2_0     20000
#define __IPHONE_2_1     20100
#define __IPHONE_2_2     20200
#define __IPHONE_3_0     30000
#define __IPHONE_3_1     30100
#define __IPHONE_3_2     30200
#define __IPHONE_4_0     40000
#define __IPHONE_4_1     40100
#define __IPHONE_4_2     40200
#define __IPHONE_4_3     40300
#define __IPHONE_5_0     50000
#define __IPHONE_5_1     50100
#define __IPHONE_NA      99999  /* not available */


2.12.2 运行时检查

运行时检查方式又多种。首先,可以调用固件适用性方法,检查设备上运行的系统。不过,一般不建议用这种方法,苹果建议检查功能性和可用性,而不是特定固件版本
NSString * celltext=[[UIFont familyNames] objectAtIndex:[indexPath row]];
if([[UIDevice currentDevice] systemversion] hasPrefix:@"2."])
    [cell setText:cellText];
else if([[UIDevice currentDevice] systemversion] hasPrefix:@"3."])
    [[cell textLabel] setText:cellText];
return cell;
还可以测试对象,看它们是否响应特定的选择器。
NSString * celltext=[[UIFont familyNames] objectAtIndex:[indexPath row]];
if(![cell respondsToSelector:@selector(textLabel)])
    [cell setText:cellText];
else 
    [[cell textLabel] setText:cellText];
return cell;
要想避免编译时警告,最好为项目设置Base SDK和Deployment Target。在Target Info→Build Settings中将Base SDK设为想要面向的OS最高版本,即5.x版本,将Iphone OS Deployment Target 设为想要针对其进行构建的最低OS版本。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值