有没有人有一些关于在 Xcode for iOS 中创建控制台工具的提示。我想通过launchd运行它,它应该向服务器发送请求。
但是我找不到在 Xcode for ARM 中编译没有 UI 的“应用程序”的任何方法。
谢谢
有没有人有一些关于在 Xcode for iOS 中创建控制台工具的提示。我想通过launchd运行它,它应该向服务器发送请求。
但是我找不到在 Xcode for ARM 中编译没有 UI 的“应用程序”的任何方法。
谢谢
我同意另一个答案,安装 iOSOpenDev 通常是解决这个问题的正确方法。安装后,它会向 Xcode 添加新模板。然后,您可以使用File -> New -> Target...将新目标添加到您的项目中。从一个名为Command-line Tool的iOSOpenDev模板中进行选择。
但是,如果这不是一个选项,或者您想知道如何以另一种方式做到这一点,那么这并不太难。
只需创建一个新的 Xcode 项目。对于项目类型,从最简单的开始......可能是iOS -> Application -> Single View Application。
创建项目后,只需删除任何 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
可执行文件是HelloDaemon
.app 目录下的文件。将其复制到您的 iPhone,并从命令行使用它,作为启动守护程序,或者您想要的其他任何方式。
iOSOpenDev提供您所描述的内容。