现在已经在windows上安装好了theos了。在上一篇中都已经讲了,开发环境主要部件就是:
1.theos,主要包含了使用make时的makefile模板文件、包含了各种库和框架的sdks
2.llvm,包含了clang在内的编译器
所以如果出错了,首先看自己的环境搭建好了没有,然后看看程序。其实理论上使用llvm和sdk就可以进行ios开发了,但是由于作者没有学习过make和objective-c以及llvm之类的,所以基础不行,那么在这种情况下使用theos,就像在ide里编程一样轻松简单(就像作者这样基础的人都是可以轻松写程序的:)。
本篇都以hello world程序进行示范
$THEOS/bin/nic.pl
这里选4,后面根据提示完成。
可以看到完成后在生成了hello这个project的文件,下面有三个文件,分别是Makefile,main.mm和theos
我打算使用一个Author类来输出hello world;Author类有一个成员words和一个方法say
1)mkdir Author,创建一个存放的文件夹
2)vim Author/Author.h,创建头文件
3)vim Author/Author.m,创建对应的实现文件
4)vim Makefile,修改makefile文件,添加Author/Author.m到如图位置
如果没有出意外就会在project下面生成一个obj文件夹
下面有很多编译过程产生的文件,hello是最终生成的文件。
运行结果正确。
那么控制台hello world就成功了
上面我们写了一个控制台程序,这个只能在终端里看到,所以对于很多人来说觉得没什么用,那么下面我们将创建一个应用程序,就是一个可以显示到桌面的app!
创建的时候选择1就是application。
后面基本都一样。项目下面出现了很多文件,相当于已经给搭建好了开发的框架,但是我现在还没有深入研究,所以现在暂时使用UIKit.h这个提供的东西。
#import <UIKit/UIKit.h> @interface HelloApp : UIApplication { } @end @implementation HelloApp - (void) applicationDidFinishLaunching: (id) unused { UIAlertView *helloWorldAlert = [[UIAlertView alloc] initWithTitle:@"App" message:@"Hello, World!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [helloWorldAlert show]; } @end int main(int argc, char *argv[]) { NSAutoreleasePool *pool = [NSAutoreleasePool new]; UIApplicationMain(argc, argv, @"HelloApp", @"HelloApp"); [pool release]; return 0; }
这里就是简单的实现了一个UIApplication类,在applicationDidFinishLaunching方法中创建并显示了一个UIAlertView。
输入make package命令将在项目下面产生一个.deb文件,通过dpkg -i *.deb就可以安装这个程序了。
然后手机respring之后就可以在手机上看到图标了。当然这个图标是空白的。
点击图标后就会弹出一个alertView,显示hello World了!
以上就是我使用theos进行了ios上的helloworld程序开发。
可以看到,尽管我们没有mac,没有那么多的编程经验,但是利用theos提供的简单环境,一个make指令就可以完成所有的编译,真的就像在ide里写程序一样简单呢!
在后面的文章中我将使用theos编写一些更复杂的application