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只是手机而已。