SDK的版本历史自《1.1》
1.0
1.1加了一些特效,
2.0 3G,2.2
3.2针对iPad放出
Obj-C的地位 是ANSI C的子集,用C和Smalltalke开发。见《objective-2.0参考指南》和在线简介
Mac和iphone程序束的不同 Mac和iphone都有程序束.即后缀是.app的文件夹。iPhone没有分细。Mac数据在Contents和Resouces文件夹。最终文件在MacOS文件夹。iphone都放在顶层。用户域有系统镜像。
自动创建XXX_Predfix.pch预编译头文件。
hm的历史:最先只有c,但只有c太痛苦了,所以有了h.
Product_Name写域名com.sadum.appname.作为商标,区别各个程序。iPhone的SpringBoard,相当于Mac的Finder,用来管理程序。产品标识符,是系统首选项的基础。
Icon File节点。 Default.png 。UIPrerenderedIcon.自《1.3.4》
程序束第10章讲自定义束 URL配置。
组成元素:框架,代码,媒体(图像,音频)
苹果位置/Apllication,自《1.3.1》
第3方位置var/mobile/Apllication。
沙盒位置:var/mobile/Applications.
示例在user/share/sandbox 自《1.3.7》原则无用
其他限制:1)大小,2)沙盒,3)内存(不支持虚拟内存,内存用尽要重启,高清大图,大音频会使程序终止且没提示) 5) 电量,6)程序,一次一个App。4.0支持后台运行:邮件,电话。7)用户行为限制:手持性=短期交互。每次会话,要重启并进入上次状态(大概)。
限制的原理:各种限制, 都根源于机器性能,和系统稳定。所以,限制是暂时的。自《1.4》
限制备要:OpenSDK可以做,但不能卖钱。
App可以pushWeb服务的数据。发标记编号和消息。不能在App创建外部框架,不能用Cocoa的插件架构。
SDK的弊端
1)没有垃圾回收机制 2)没有全部实现库 3)早期更开放,可以用iTune Store搜索商店,Celestial框架做QuickTime.自《1.5》
底层UNIX被沙盒遮盖。
文本格式,或压缩二进制。
h是头文件,m是实现文件。
.cpp是c++,c是c,m是obj-c。
3种控制器_秘籍ch01简介(2)
1)委托/协议——强制方法1 协议是委托的变体2
2)目标操作——按钮动作3
3)事件通知,有4个。2个可用,2个不能。
✔ NSNotificationCenter可用,可以带数据4
✕ DarwinNotificationCenter可用,不能带数据*
NSDistributedNotificationCenter未实现,程序之间
TelephonyNotificationCenter未实现,电话通知自《1.6.2》
3 模型=数据源
写法①代码[uiobjectsetDataSource:appObject].
②委托<UITableViewDataSource>。
公开数据源和委托方法自《3-3》消息跟踪,非公开方法。
MVC
1重在框架,不在程序。框架下加内容。
2视图控制器不是MVC控制器
苹果自定义。意思方便布局,自动旋转。
自《1.6.1》
伪多重继承
帮助没说清。信息是数组。
注意,至少2个参数,带object.不然会报错说被发送到某对象。
1强制 表格点击行tableView:didSelectRowAtIndexPath;
自定义协议和强制方法。关键词FTPHostDelegate找原文例子。
2协议≈委托,例如 setDelegate:的变体是<UITableViewDelegate>。
Darwin用BSD构建,如notify_post(),notify_register_mach_port()
例旋转UIApllicationWillChangeStatusBar…和UIDeviceOrientationDidChangeNotification.
第3部分
数据源:本地数据库,XML,无线热点。 知识园地
用到数据源的对象:表格,选取器,openFlow。自《3-1》
Developer Mode for Crash Reporter.实时查看故障,自1.9.3. Developer/Applications/Utilities/CrashRepoerterPrefs,选Developer,退出,自infinite-labs.bet的Emanule Vulcano
调试:1)断点2)运行3)调试窗口4)检查5)断点选项,见《Xcode UserGuide:Debugging Programs》自《1.9.5》
※※※
Projects&Sources列表。拖到Organizer,双击打开项目。Build,Clean,Run,Action按钮。
Developer/Shared/Xcode/Screenshots/ApplicationSupport
Summary.支持最多5个设备。Provisioning显示App。自1.11.3
Console,真机NSLog。
CrashLogs 监视线程异常
SceenShot截图,上传AppStore图片,开机图。自《1.11.5》
※※※
只有连线才有调试。不能用无线。Velcro粘带。自1.11.7
真机编译慢,可以去喝茶。自1.11.8真机调试。见《Xcode3_2_5免证书开发调试》自1.11.9
仿真机不能做什么?不能测试照相,钥匙,加速器。
最后一段代码没看自1.7
? 2个监视Com.apple.mobile.application_install,com.apple.mobile.application_uninstalled.
源代码转提交Apple文件。code SigningEntitlement设置为iPhone Distribution
本书代码设置:钥匙串访问→证书管理→创建证书→显示简介→信任→总是信任.右键→getInfo Eric Sadun
SDK大小1G
iphone程序比mac简单,Info.plist和lproj
Ad Hoc。FairPlay。注册设备,设备标识符Program Portal Devices.
《iPhone/iPad apps的图标及启动图片》
《objective-C的基本数据类型,数字,字符串,和集合等介绍》介绍Orgnizier