| Key | 說明 | ||
| telephony(電話) | Include this key if your application requires (or specifically prohibits) the presence of the Phone application. You might require this feature if your application opens URLs with the tel scheme | ||
| wifi | Include this key if your application requires (or specifically prohibits) access to the networking features of the device. | ||
| sms | Include this key if your application requires (or specifically prohibits) the presence of the Messages application. You might require this feature if your application opens URLs with the sms scheme. | ||
| still-camera | Include this key if your application requires (or specifically prohibits) the presence of a camera on the device. Applications use the UIImagePickerController interface to capture images from the device’s still camera. | ||
| auto-focus-camera | Include this key if your application requires (or specifically prohibits) auto-focus capabilities in the device’s still camera. Although most developers should not need to include this key, you might include it if your application supports macro photography or requires sharper images in order to do some sort of image processing. | ||
| front-facing-camera | Include this key if your application requires (or specifically prohibits) the presence of a forward-facing camera. Applications use the UIImagePickerController interface to capture video from the device’s camera. | ||
| camera-flash(相機閃光燈) | Include this key if your application requires (or specifically prohibits) the presence of a camera flash for taking pictures or shooting video. Applications use the UIImagePickerController interface to control the enabling of this feature. | ||
| video-camera | Include this key if your application requires (or specifically prohibits) the presence of a camera with video capabilities on the device. Applications use the UIImagePickerController interface to capture video from the device’s camera. | ||
| accelerometer(加速度計) | Include this key if your application requires (or specifically prohibits) the presence of accelerometers on the device. Applications use the classes of the Core Motion framework to receive accelerometer events. You do not need to include this key if your application detects only device orientation changes. | ||
| gyroscope(陀螺儀) | Include this key if your application requires (or specifically prohibits) the presence of a gyroscope on the device. Applications use the Core Motion framework to retrieve information from gyroscope hardware. | ||
| location-services(定位服務) | Include this key if your application requires (or specifically prohibits) the ability to retrieve the device’s current location using the Core Location framework. (This key refers to the general location services feature. If you specifically need GPS-level accuracy, you should also include the gps key.) | ||
| gps | Include this key if your application requires (or specifically prohibits) the presence of GPS (or AGPS) hardware for greater accuracy when tracking locations. If you include this key, you should also include the location-services key. You should require GPS only if your application needs more accurate location data than the cell or Wi-fi radios might otherwise allow. | ||
| magnetometer(磁力儀) | Include this key if your application requires (or specifically prohibits) the presence of magnetometer hardware. Applications use this hardware to receive heading-related events through the Core Location framework. | ||
| microphone | Include this key if your application uses the built-in microphone or supports accessories that provide a microphone. | ||
| opengles-1 | Include this key if your application requires (or specifically prohibits) the presence of the OpenGL ES 1.1 interfaces. | ||
| opengles-2 | Include this key if your application requires (or specifically prohibits) the presence of the OpenGL ES 2.0 interfaces. | ||
| armv6 | Include this key if your application is compiled only for the armv6 instruction set. (iOS v3.1 and later.) | ||
| armv7 | Include this key if your application is compiled only for the armv7 instruction set. (iOS v3.1 and later.) | ||
| peer-peer | Include this key if your application requires (or specifically prohibits) peer-to-peer connectivity over Bluetooth. (iOS v3.1 and later.) | ||
2011年8月30日 星期二
UIRequiredDeviceCapabilities 指定程序需要那些設備
2011年8月23日 星期二
This generally means that another instance of this process was already running or is hung in the debugger
今天在測式時 crash之後
再編譯時就一直出現Error
再編譯時就一直出現Error
This generally means that another instance of this process was already running or is hung in the debugger
實體機上沒有看到在跑任何程式丫~
但就是重編不了~
最後是裝置關機重開才行~
2011年8月22日 星期一
iOS設備內存硬體
| 設備 | CPU | 螢幕顯示 | 內存 | ||
| 1代 | 412MHz | 480X320 | 128MB | ||
| iPhone3G | 412MHz | 480X320 | 128MB | ||
| iPod Touch | 532MHz | 480X320 | 128MB | ||
| iPhone3GS | 600MHz | 480X320 | 256MB | ||
| iPad | 1GHz | 1024X768 | 256MB | ||
| iPhone4 | 1GHz | 960X640 | 512MB | ||
| ipad2 | 1GHz 雙核心 Apple A5 | 1024X768 | 512MB | ||
如果要寫iphone程式,最好以128MB內存來思考,而且還要扣iOS系統佔用的
除非放棄iPhone3G、iPod Touch ~
而iPad程式呢~就要以256MB來思考,沒錯~iPad1的畫面比較大
,但可用就的內存就是比iPhone4來的少~~~~冏~~
2011年8月8日 星期一
真機調試 Received memory warning. Level= …
OSMemoryNotification.h
How the levels are triggered is not documented. SpringBoard is configured to do the following in each memory level:
1.Warning (not-normal) — Relaunch, or delay auto relaunch of nonessential background apps e.g. Mail.
2.Urgent — Quit all background apps, e.g. Safari and iPod.
3.Critical and beyond — The kernel will take over, probably killing SpringBoard or even reboot.
4.Killing the active app (jetsam) is not handled by SpringBoard, but launchd.
參考文章
在cocos2d呢
1 .Received memory warning. Level= 1
會觸發 [[CCDirector sharedDirector] purgeCachedData];
此時會把目前沒用到的 材質釋放掉~~
~
理論上ios系統會把不必要的背景程式關掉~
遇到這個情形呢~ 先查查leak吧
如果都沒有~就就就就…砍需求or改需求or改code~~~
減少在同一畫面下的內存使用量了
2 .Received memory warning. Level= 2
目前遇到的都crash 掉了~
還是乖乖查leak …
其他的還沒遇過~哈
typedef enum {
OSMemoryNotificationLevelAny = -1,
OSMemoryNotificationLevelNormal = 0,
OSMemoryNotificationLevelWarning = 1,
OSMemoryNotificationLevelUrgent = 2,
OSMemoryNotificationLevelCritical = 3
} OSMemoryNotificationLevel;
How the levels are triggered is not documented. SpringBoard is configured to do the following in each memory level:
1.Warning (not-normal) — Relaunch, or delay auto relaunch of nonessential background apps e.g. Mail.
2.Urgent — Quit all background apps, e.g. Safari and iPod.
3.Critical and beyond — The kernel will take over, probably killing SpringBoard or even reboot.
4.Killing the active app (jetsam) is not handled by SpringBoard, but launchd.
參考文章
在cocos2d呢
1 .Received memory warning. Level= 1
會觸發 [[CCDirector sharedDirector] purgeCachedData];
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
[[CCDirector sharedDirector] purgeCachedData];
}
此時會把目前沒用到的 材質釋放掉~~
~
理論上ios系統會把不必要的背景程式關掉~
遇到這個情形呢~ 先查查leak吧
如果都沒有~就就就就…砍需求or改需求or改code~~~
減少在同一畫面下的內存使用量了
2 .Received memory warning. Level= 2
目前遇到的都crash 掉了~
還是乖乖查leak …
其他的還沒遇過~哈
2011年7月31日 星期日
內存管理筆記
retainCount 是 objective-c 內存管理的唯一依據. release 後自動 retainCount 減 1 , 到 0 時 對象 的dealloc 會被觸發。
所以永遠不該呼叫 對象的 dealloc 方法
1,alloc, allocWithZone,new(帶初始化)
為對象分配內存,retainCount為“1”,並返回此實例
2,release
retainCount 減“1”,減到“0”時調用此對象的dealloc方法
3,retain
retainCount 加“1”
4,copy,mutableCopy
複製一個實例,retainCount數為“1”,返回此實例。所得到的對像是與其它上下文無關的,獨立的對象(乾淨對象)。
5,autorelease
在當前上下文的AutoreleasePool棧頂的autoreleasePool實例添加此對象,由於它的引入使Objective-C(非GC管理環境)由全手動內存管理上升到半自動化。
為對象分配內存,retainCount為“1”,並返回此實例
2,release
retainCount 減“1”,減到“0”時調用此對象的dealloc方法
3,retain
retainCount 加“1”
4,copy,mutableCopy
複製一個實例,retainCount數為“1”,返回此實例。所得到的對像是與其它上下文無關的,獨立的對象(乾淨對象)。
5,autorelease
在當前上下文的AutoreleasePool棧頂的autoreleasePool實例添加此對象,由於它的引入使Objective-C(非GC管理環境)由全手動內存管理上升到半自動化。
詳細參考文章:參考文章
2011年7月7日 星期四
CCLayer CCFadeOut unrecognized selector sent to instance !!~~~~
//目前使用的是 cocos2d 2.0 rc2 版
//
//在CCLayer 淡出效果時
[self runAction:[CCFadeOut actionWithDuration:0.8f]];
//會出現
[classXX setOpacity:]: unrecognized selector sent to instance 0xXXXXXXX !!
似呼有被回呼某 selector
所以必順實做 setOpacity 讓他變更
//
//在CCLayer 淡出效果時
[self runAction:[CCFadeOut actionWithDuration:0.8f]];
//會出現
[classXX setOpacity:]: unrecognized selector sent to instance 0xXXXXXXX !!
似呼有被回呼某 selector
所以必順實做 setOpacity 讓他變更
// Set the opacity of all of our children that support it
-(void) setOpacity: (GLubyte) opacity
{
for( CCNode *node in [self children] )
{
if( [node conformsToProtocol:@protocol( CCRGBAProtocol)] )
{
[(id) node setOpacity: opacity];
}
}
}
2011年7月5日 星期二
限定只有某CCLayer 觸發 touch
網路上片斷 +試驗
原理還沒詳細研究~先記錄囉~
原理還沒詳細研究~先記錄囉~
//================================================================
-(void) registerWithTouchDispatcher
{
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:INT_MIN+1 swallowsTouches:YES];
}
- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
return YES;
}
訂閱:
文章 (Atom)