- BBWeeAppController-Protocol.h,这个头文件中声明了一个名为BBWeeAppController的protocol,编译生成的Bundle中必须要有一个类实现了该协议。
- HelloWorldController.m,这就是上面提到的实现BBWeeAppController协议的类。生成的模板类提供的实现只是简单显示了一张通知中心的背景图片。
- Makefile,上文中提到了:theos是基于Make的编译系统,自然少不了Makefile。
- control,这是对deb包的描述,例如package的名称、作者、package的依赖等,以键值对的形式存在。在Cydia的作者Jay Saurik的这篇博客中对control的键值做了详细的说明。
- theos,这是一个软连接文件,指向的是theos的路径。
- Resource,这个目录下用于存放资源文件。其中包含了Bundle的描述文件:Info.plist。如果你的应用有图片,那么你应该把图片放到这个目录下。
由于要通过ssh把deb package安装到设备中,所以我们需要向theos提供设备的IP地址。theos提供了一个变量,THEOS_DEVICE_IP,用于指定设备的IP地址。下面我们在Makefile文件的头部增加一行设置该变量(变量的值取决于设备的IP地址):
THEOS_DEVICE_IP = 192.168.1.110
执行下面的命令来编译打包并将package安装到设备中:make package install
环境已经安装完成,但是不知道该如何下手,先按照网上说明进行导出api,下载了DumpFrameworks.pl,然后执行,根据自己需要修改了下路径,然后按照说明直接执行.pl 没有相应, perl DumpFrameworks.pl 就可以了,在执行过程中,碰到错误中断,于是将中断那行代码屏蔽,就能继续生成对应framework 的api,生成完成后,在headers/Framework里有两个文件夹,分别对应生成的公有,私有的api头文件,看内容不少,又没有说明文档,实在头大。
只能继续上网搜例子查看,一个利用theOS 的示例了
http://www.devdiv.com/iOS%E8%B6%8A%E7%8B%B1%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA_theos-weblog-54-7596.html
另一篇参考:
http://www.cnblogs.com/xiongwj0910/archive/2012/08/16/2642992.html
摘要:
---------------------
如何创建应用?
Thoes提供了一个叫做NIC(New Instance Creator)的工具,它会根据模板文件(.nic)创建与之对应的应用模板(在这里,模板中包含了源文件、Makefile、plist文件等)。Theos自带有5个模板:application, library, preference bundle, tool, tweak,这肯定是不够的,但是没有关系,已经有人为我们提供了其他的模板,例如:Notification Center Widget的模板和SBSettings Toggle的模板。
下面我们以开发Notification Center Widget为例。
首先我们需要安装Notification Center Widget模板至theos,运行下面的脚本,把.nic文件下载到theos目录下的nic/iphone目录,顾名思义,这个目录是用来放置iphone相关模板文件的。
curl -O https://raw.github.com/WillFour20/Notification-Widget-NIC-Template/master/notification_center_widget.nic $THEOS/templates/iphone/
接下来我们只需运行nic来创建Notification Center Widget的应用模板:
$ $THEOS/bin/nic.pl
NIC 1.0 – New Instance Creator
——————————
[1.] iphone/application
[2.] iphone/library
[3.] iphone/notification_center_widget
[4.] iphone/preference_bundle
[5.] iphone/tool
[6.] iphone/tweak
Choose a Template (required): 3
Project Name (required): Hello World
Package Name [com.yourcompany.helloworld]: com.crazytonyli.widget.helloworld
Author/Maintainer Name [Tony Li]: Tony Li
Instantiating iphone/notification_center_widget in helloworld/…
Done.
首先进入helloworld项目目录,看看nic为我们生成了什么文件:
为了开发方便,可以使用xcode建工程,否则只是单个文件,代码输入提示不好用,查错不方便,可先用xcode工程进行编译排错,安装时再用make package 编译安装。
openDev的示例
http://www.cnblogs.com/xiongwj0910/archive/2012/09/03/2668362.html