有没有人有关于在Xcode for iOS中创建控制台工具的一些提示。我想通过launchd运行它,它应该向服务器发送请求。
但是我找不到任何方法来编译没有UI的“应用程序”在Xcode for ARM中。
THX
答案 0 :(得分:2)
我同意the other answer,安装iOSOpenDev通常是解决此问题的正确方法。安装完成后,它会向Xcode添加新模板。然后,您可以使用文件 - >为项目添加新目标新 - > :定位... 即可。从 iOSOpenDev 模板中选择一个名为命令行工具的模板。
但是,如果这不是一个选项,或者你想知道如何以另一种方式做到这一点,那就不难了。
只需创建一个新的Xcode项目。对于项目类型,从最简单的一个开始...可能是 iOS - > 申请 - > 单一视图应用。
创建项目后,只需删除任何View,ViewController或.xib文件,因为您不会使用它们。在框架列表(项目设置 - >构建阶段)中,您可以删除UIKit.framework或非图形工具不需要的任何其他内容。
然后,只需进入生成的main.m文件,然后删除对UIApplicationMain()
的调用。相反,我通常创建一个主守护进程类,然后从main.m开始使用类似的东西:
#import "HelloDaemon.h"
int main(int argc, char *argv[]) {
@autoreleasepool {
HelloDaemon* daemon = [[HelloDaemon alloc] init];
// start a timer so that the process does not exit.
NSTimer* timer = [[NSTimer alloc] initWithFireDate: [NSDate date]
interval: 1.0
target: daemon
selector: @selector(run:)
userInfo: nil
repeats: NO];
NSRunLoop* runLoop = [NSRunLoop currentRunLoop];
[runLoop addTimer: timer forMode: NSDefaultRunLoopMode];
[runLoop run];
}
return 0;
}
我的守护进程类包含run:
方法:
-(void) run:(NSTimer *) timer;
当您为iOS设备(而不是模拟器!)构建此“应用程序”时,它会将其粘贴在构建输出目录中,例如:
./Build/Products/Debug-iphoneos/HelloDaemon.app/HelloDaemon
可执行文件是.app目录下的HelloDaemon
文件。将其复制到您的iPhone,并从命令行中将其用作启动守护程序,或者您喜欢的其他方式。
答案 1 :(得分:1)
iOSOpenDev准确提供您所描述的内容。