問題描述 一般項目中,可以使用宏定義來判斷模擬器還是真機,這無疑是有效。#if TARGET_IPHONE_SIMULATOR#define SIMULATOR 1#elif TARGET_OS_IPHONE#define SIMULATOR 0#endif 但是宏是先行編譯時發生作用的,那麼在靜態庫中是否還能夠使用宏定義來區分模擬器與真機?分析思路
掌握了iOS的基本概念後,我們就開始切入正題了。開始使用SUP了,SUP提供了非常強大的開發功能,我們可以通過它來幫我們產生代碼來開發離線功能的手機應用。基本流程是先建立MBO對象,然後根據這些MBO來產生Object API代碼,接下來把這些代碼拷貝到開發環境裡,最後添加上我們需要的UI介面和商務邏輯就OK了。這裡,我用了SUP協助文檔裡的例子,通過SUP預設內建的sampledb資料庫裡表customer Table產生了MBO對象,然後選擇產生Objective
iOS4之後就支援後台播放音頻了。只需下面兩步就可以實現後台播放音頻操作了。 1. 在Info.plist中,添加"Required background modes"鍵,其值設定是“App plays audio" 2. 在播放器播放音樂的代碼所在處,添加如下兩段代碼(當然,前提是已經添加了AVFoundation架構)://添加後台播放代碼:AVAudioSession*session = [AVAudioSessionsharedInstance]; [session
在開發iOS應用程式時,讓程式具有良好的效能是非常關鍵的。這也是使用者所期望的,如果你的程式運行遲鈍或緩慢,會招致使用者的差評。然而由於iOS裝置的局限性,有時候要想獲得良好的效能,是很困難的。在開發過程中,有許多事項需要記住,並且關於效能影響很容易就忘記。本文收集了25個關於可以提升程式效能的提示和技巧。分為3個不同的等級:初級、中級和進階: 進階若且唯若下面這些技巧能夠解決問題的時候,才使用它們:22.加速啟動時間23.使用Autorelease Pool24.緩衝圖片 — 或者不緩衝25.
原生c的socket使用太麻煩,給介紹一個項目https://github.com/robbiehanson/CocoaAsyncSocket下載代碼裡有樣本工程唯一需要特別注意的地方:(網上tm沒看見有人說,我搞了兩天才發現的)這個項目裡runloop包的asyncsocket類只支援單線程,也就是在主線程裡連結調用,但是不會block主線程GCD包下的gcdasyncsocket可以支援多線程,但是分兩個版本7。0。X支援的是非ARC項目的7。1以後的版本是支援ARC項目的記得一定要搞清楚了
一 固定寬度UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 21)]; if (label) { // 設定常值內容 label.text = @"我真的很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長"; // 0代表不限制行數 [label
近期總結了一些常用的ios代碼。1、iOS中不定參數(可變參數)的方法常見於NSArray初始化方法中,如:@interface NSArray (NSArrayCreation)+ (id)arrayWithObjects:(id)firstObj, ... NS_REQUIRES_NIL_TERMINATION;- (id)initWithObjects:(id)firstObj, ...
UIKit中包含了UIGestureRecognizer類,用於檢測發生在裝置中的手勢。UIGestureRecognizer是一個抽象類別,定義了所有手勢的基本行為,它有下面一些子類用於處理具體的手勢: 1、拍擊UITapGestureRecognizer (任意次數的拍擊) 2、向裡或向外捏UIPinchGestureRecognizer (用於縮放) 3、搖動或者拖拽UIPanGestureRecognizer
開源的優質代碼也很多了,整理下給各位需要的同學。devinross/tapkulibrary – GitHub封裝了比較多的類,日曆只是其中很少的一塊,和iOS內建的UI幾乎是一模一樣。 klazuka/Kal – GitHub這個也是標準的日曆控制項哦 muhku/calendar-ui – GitHub日別和周別表示的日曆 damiandawber/DDCalendarView – GitHub簡單明了的日曆 shaokun/SimpleCalendarView –
李華明Himi 原創,轉載務必在明顯處註明:轉載自【黑米GameDev街區】 原文連結: http://www.himigame.com/iphone-cocos2d/516.html 最近寫了不少Cocos2d的博文了,那麼由於Himi介紹的一般都是比較容易出錯的問題或者比較受到關注的知識點,所以不少童鞋要求寫個基礎篇,那麼這裡Himi就舉例最常用的精靈CCSprite來詳細的介紹一些吧;
李華明Himi 原創,轉載務必在明顯處註明:轉載自【黑米GameDev街區】 原文連結: http://www.himigame.com/iphone-cocos2d/474.html 上一節講述了粒子的相關問題,當然啦,不示弱,今天繼續將物理系統給大家進行簡單的介紹和講述;
李華明Himi 原創,轉載務必在明顯處註明:【黑米GameDev街區】 原文連結: http://www.himigame.com/iphone-cocos2d/465.html 前幾節由於時間緊張,只是將一些遇到的問題拿出來進行分享經驗,那麼今天抽空寫一篇常用的精靈以及精靈常用和注意的一些知識;那麼由於cocos2d教程基本很完善,那麼今天Himi介紹一些注意點和細節點分享大家; 首先對於使用過精靈的童鞋很熟悉CCSpriteBatchNode,
amr在傳聲音中應用較多,因為十多K大小就可以長達一分鐘的內容。在ios sdk4.0以後就不再支援這種格式的檔案,只有用開源opencore-amr,今天試著編譯了一下,結果成功了。寫了一個指令碼:#!/bin/sh############################################################################ Change values here ## #VERSION="0.1.2"
首先,擷取上下文CGContextRef context
在開源中國iOS用戶端中也用到了MBProgressHUD這個特效,主要作用為應用顯示一個過渡的作用,常用於開啟一個連網頁面載入過程,防止出現假死現象,如果網速慢則告訴使用者已經在很努力很努力的載入中。GitHub上:https://github.com/jdg/MBProgressHUD源碼中也內建了一個Demo,顯示13中動畫效果,可以根據需要選取其中特效加以使用,使用方法基本一樣;使用的時候只加把MBProgressHUD.h和MBProgressHUD.m拖入工程中,在使用的檔案中加上#
Xcode 4的Architectures設定預設只有armv7,也就是新的iOS裝置,包括iPhone 3GS、iPhone 4、iPhone 4s、iPad、iPad 2等,而iPhone、iPhone 3G、iPod Touch、iPod Touch 2屬於armv6架構。一、使相容armv6和armv7的步驟如下:PROJECT -> Info -> iOS Deployment Target選擇3.0PROJECT -> Build Settings ->
開源中國iOS用戶端基於網路同步資料,從而達到與網頁看到同樣資料效果,所以在啟動程式的時候需要檢查網路;這也是每一個連網應用啟動的第一步,如果連網應用沒有檢查網路,蘋果公司將不予以審核通過;
上一篇部落格 開源中國iOS用戶端學習——(十一)AES加密 中提到將使用者名稱和密碼儲存到了本地沙箱之中,在從本地讀取使用者名稱和密碼,這是一個怎樣的過程?-(void)saveUserNameAndPwd:(NSString *)userName andPwd:(NSString *)pwd{ NSUserDefaults * settings = [NSUserDefaults standardUserDefaults]; [settings
開源中國用戶端中無論是綜合裡面文章,還是問答裡問題還是動彈離得說說,每一條後面都會注釋有時間,比如“10分鐘之前” “2小時前” “5天前” 或者直接是時間顯示“2013-2-9”等,這些時間在很多應用裡都是必須的,為的是給使用者一個時間感,知道資訊是最新的,也方便根據時間查閱以往資訊; 這些時間從API解析下來的時間格式都為 yyyy-MM-dd HH:mm:ss(比如:2013-03-09 09:51:22),通過在API上擷取文章時間後經過演算法轉換而得到,在用戶端源碼的Tool.