iphone編程
1. 怎麼學習iPhone編程
(1)零基礎,可以先看Objective-C 2.0程序設計(Stephen G.Kochan)這本書
(2)然後看Stanford的視頻教程,在itunes-u上可以下載,別告訴我還不知道itunes-u。。。如果e文實在不行,也別勉強,可以看iPhone 3開發基礎教程(Dave Mark)這本書,把上面的工程全部敲一遍。
(3)研究蘋果的官方示例代碼,去蘋果的官方技術論壇,經常去cocoachina上面逛,同時關注iphonedev這幾個國外ios技術論壇,當然還有github這些social coding網站上的源代碼
(4)第2步之後就開始做實際項目了,如果是獨立開發者,可以做任何自己喜歡做的項目,當然,越簡單越好,如果是團隊成員,直接跟著團隊做項目,哪怕當實習生也好
(5)如果開始對游戲感興趣了,就可以開始學cocos2d(甚至cocos3d)了,safarisonline上面有rough cut版本,花點銀子買一本來學是有必要的。
(6)在社交網路上關注那些技術牛人,經常交流,學習。twitter,facebook,linkedin,quora...所有可能有牛人的地方不要放過
2. iphone是用哪個語言編寫的
Objective-C 是一種通用、高級、面向對象的編程語言。通常簡寫為 ObjC 和較少用的 Objective C 或 Obj-C。它擴展了標準的 ANSI C 編程語言,將 Smalltalk 式的消息傳遞機制加入到 ANSI C 中。目前主要支持的編譯器有 GCC 和 Clang(採用 LLVM 作為前端)。
Objective-C 的商標權屬於蘋果公司,蘋果公司也是這個編程語言的主要開發者。蘋果在開發 NeXTSTEP 操作系統時使用了 Objective-C,之後被 OS X 和 iOS 繼承下來。現在 Objective-C 是 OS X 和 iOS 操作系統、及與其相關的 API、Cocoa 和 Cocoa Touch 的主要編程語言。
Objective-C 是編寫以下應用的利器:
iOS 操作系統
iOS 應用程序
Mac OS X操作系統
Mac OSX 上的應用程序
Objective-C 的流行歸功於 iPhone 的成功。因為編寫 iPhone 應用程序的主要編程語言是 Objective-C。
3. iPhone上有什麼編程開發軟體
並非每個人都知道如何編寫相關代碼。很多工具可以幫助非開發人員創建iPhone軟體,甚至不需要編程和腳本知識。這些工具有的專為小公司打造,有的專門為特定用戶打造,比如為音樂家或電子書作者打造的軟體。還有的工具可以讓熟悉HTML等編程語言的開發者通過自己熟悉的語言編寫代碼,接 著把代碼轉化為iPhone軟體,然後就可以提交至iTunesStore。
以下就是收集的8個工具,無須掌握iPhoneOS的編程語言ObjectiveC就可以使用這些工具:
1、Sweb Apps
用途:Sweb Apps提供了一種在線服務,即便不知道如何編寫代碼也可以開發iPhone軟體。 專為小公司打造,提供多種可供定製的模板,還可以使用他們的圖片庫。
價格:公司提供了4、6、8按鈕三種套餐,其中都包括了一次性安裝費:每個按鈕50美元;每個軟體的主機服務費為每月25美元。
2、AppIncubator
用途:MEDL Mobile公司出品,提交創意,然後公司的開發團隊把創意開發成iPhone軟體。公司收到提交之後,可以利用公司的「故事板」來詳細描述該軟體的功能需求。
價格:下載和使用該工具免費,但公司會在軟體進入iTunes軟體商店後提取75%抽成,剩餘的25%收入歸開發者。
3、Kanchoo
用途:幫助內容提供者創建iPhone軟體,主要面向新聞機構。
價格:Basic account 88美元的軟體開發費,以及每月28美元的寬頻和主機費。
4、AppBreeder
用途:和SwebApps類似的DIY軟體開發服務。AppBreeder提供軟體開發包。其中包括一系列軟體設置,如插件、圖標、動作元素等。此外, AppBreeder還可以把軟體發布到黑莓和Android手機上。
價格:AppBreeder提供不同的套餐。加廣告的軟體免費,iPhone軟體$9.95 - 14.95,本地iPhone軟體$29.95,iPhone/黑莓/Android軟體包$39.95 - 49.95。
5、MyAppBuilder
用途:MyAppBuilder根據銷售內容不同而開發不同的iPhone軟體,不管內容是書籍、音樂、還是視頻,該工具都會把它變成一個軟體。還可以通過MyAppBuilder創建自定義測試,基於Twitter頁面的軟體,或者通過RSS feed把你的博客變成一個軟體。
費用:每月$29。
6、BuildAnApp
功能: BuildAnApp是一個跨平台DIY軟體開發工具,專為小公司、社區團體和專業服務機構打造。可以根據模板創建基於iPhone,Blackberry,或Windows Mobile平台件。
定價: 待定。
7、eBookApp
功能: T用於通過電子書創建軟體。幾乎支持所有格式的文件PDF, Doc, Zip, CHM, HTML, TXT, FB2, PDB, PRC, Mobi, PDB, MHT, RTF。此外用戶還可以選擇字體和大小,添加圖片和注釋,鎖定橫屏或豎屏等。
定價: 該公司沒有提供價格表,但是提供了一個詢價單。
8、GameSalad
功能: 這個下載工具可以讓用戶無需了解編程或腳本知識就可以開發游戲。開發的軟體可以發布到網頁或iPhone上。
定價: 免費版GameSalad 支持發布游戲到網頁,但不支持iPhone。至於iPhone游戲,有兩個版本可供選擇: 快捷版$99/年,專業版$1999/年。
4. iPhone可以使用什麼軟體進行編程
建議你使用xcode,因為這是蘋果官方發布的ide,只有用這個ide製作的程序才被蘋果許可,其他軟體製作出來的程序可能會卡審核。如果只學過c++那很快就能轉到objective-c。首先需要看objective-c的教程,然後看《ipad 與 iphone4開發》這本書,看完這兩部分基本就可以進行一些簡單的開發了
5. iphone應用程序的編寫用哪種語言
iphone應用程序的編寫用Objective C。
6. iPhone上編程
有,之前見到過,Android上有C4droid
7. iphone上有沒有可以編程的計算機
iPhone系統的應用程序中是沒有安裝可以編程的計算器軟體的。
iPhone 手機功能強大,本身具有無限的擴展能力,雖然原系統並沒有安裝可以編程的計算器,不過可以安裝應用程序來擴展手機的功能。
操作步驟如下:
在桌面上點App Store ;
點搜索;
在搜索欄輸入「可編程計算器」;
8. iPhone中如何進行多線程編程和線程鎖
這篇文章主要從線程創建與啟動、線程的同步與鎖、線程的交互、線程池等等四個方面簡單的講解一下iphone中的多線程編程。一、線程創建與啟動
線程創建主要有二種方式:1 2 -(id)init; // designated initializer-(id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument;當然,還有一種比較特殊,就是使用所謂的convenient method,這個方法可以直接生成一個線程並啟動它,而且無需為線程的清理負責。這個方法的介面是:1 +(void)detachNewThreadSelector:(SEL)aSelector toTarget:(id)aTarget withObject:(id)anArgument前兩種方法創建後,需要手機啟動,啟動的方法是:- (void)start;二、線程的同步與鎖
要說明線程的同步與鎖,最好的例子可能就是多個窗口同時售票的售票系統了。我們知道在java中,使用synchronized來同步,而iphone雖然沒有提供類似java下的synchronized關鍵字,但提供了NSCondition對象介面。查看NSCondition的介面說明可以看出,NSCondition是iphone下的鎖對象,所以我們可以使用NSCondition實現iphone中的線程安全。這是來源於網上的一個例子:
SellTicketsAppDelegate.h 文件1 2 3 4 5 6 7 8 9 10 11 12 13 // SellTicketsAppDelegate.h import <UIKit/UIKit.h> @interface SellTicketsAppDelegate :NSObject <UIApplicationDelegate> {int tickets; int count; NSThread* ticketsThreadone; NSThread* ticketsThreadtwo; NSCondition* ticketsCondition; UIWindow *window; }@property(nonatomic, retain) IBOutlet UIWindow *window; @endSellTicketsAppDelegate.m 文件1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 // SellTicketsAppDelegate.m import "SellTicketsAppDelegate.h" @implementation SellTicketsAppDelegate @synthesize window; -(void)applicationDidFinishLaunching:(UIApplication *)application { tickets =100; count =0; // 鎖對象 ticketCondition =[[NSCondition alloc] init]; ticketsThreadone =[[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil]; [ticketsThreadone setName:@"Thread-1"]; [ticketsThreadone start]; ticketsThreadtwo =[[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil]; [ticketsThreadtwo setName:@"Thread-2"]; [ticketsThreadtwo start]; //[NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil];// Override point for customization after application launch[window makeKeyAndVisible]; } -(void)run{while(TRUE){// 上鎖[ticketsCondition lock]; if(tickets > 0){[NSThread sleepForTimeInterval:0.5]; count =100- tickets; NSLog(@"當前票數是:%d,售出:%d,線程名:%@",tickets,count,[[NSThread currentThread] name]); tickets--; }else{break; }[ticketsCondition unlock]; }} -(void)dealloc {[ticketsThreadone release]; [ticketsThreadtwo release]; [ticketsCondition release]; [window release]; [super dealloc]; }@end三、線程的交互
線程在運行過程中,可能需要與其它線程進行通信,如在主線程中修改界面等等,可以使用如下介面:1 -(void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait由於在本過程中,可能需要釋放一些資源,則需要使用NSAutoreleasePool來進行管理,如:1 2 3 4 5 6 7 -(void)startTheBackgroundJob {NSAutoreleasePool*pool =[[NSAutoreleasePool alloc] init]; // to do something in your thread job ... [self performSelectorOnMainThread:@selector(makeMyProgressBarMoving) withObject:nil waitUntilDone:NO]; [pool release]; }如果你什麼都不考慮,在線程函數內調用 autorelease 、那麼會出現下面的錯誤:
9. 怎麼在iphone上編程 我想在iphone上寫點程序,要裝什麼軟體
暫時還沒有這些編程工具。
任何一個硬體的變成平台指的都是對其進行編程平台而不是運行在其上面的編譯工具。所謂iphone的編程平台是用來編譯iphone app而不是在iphone上面進行編程工作的,它還沒有那麼強大。
10. 用iPhone可以編程嗎
iPhone中的有一些軟體可以,比如c language,可以編寫c語言,還有一個教html,javascript的叫做L2code的,除了教你,裡面也有編譯器,但是如果要開發iPhone應用的話,還是需要MacBook裡面的Xcode,畢竟iPhone只是手機而已。