ios - 在 mac 上通过 gcc 编译 iOS Objective-C 命令行应用程序

标签 ios gcc jailbreak

这是一个非常简单的 Objective-C 控制台应用程序:

#import <Foundation/Foundation.h>
#import <CoreLocation/CoreLocation.h>

int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    CLLocationManager *locationManager = [[CLLocationManager alloc] init];
    NSLog(@"Hello world!");

    [pool drain];

    return 0;
}

我在我的 Mac 上用 gcc main.m -o main -ObjC -framework Foundation -framework CoreLocation 编译它。

我的 mac 上也安装了 iOS SDK。我如何修改此命令以编译相同的代码,在我的计算机上,以便在(越狱的)iOS 设备上使用

然后我可以通过 ssh 传输可执行文件并使用 ldid 对其进行签名。

最佳答案

对于简单的情况,这可能就足够了:

gcc -o output -Wall -std=c99 source.m -framework Foundation -lobjc 

更新:

此命令不适用于 iOS 命令行应用程序 - arch 必须正确设置。我目前手头没有 iOS 开发环境; -march 标志可能会有所帮助。

查看已接受的答案。

关于ios - 在 mac 上通过 gcc 编译 iOS Objective-C 命令行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7473246/

相关文章:

c - 数学函数不适用于 C 中的 "make"

ios - 我可以从崩溃日志中识别越狱手机吗?

ios - AVAssetWriter - 设置自定义帧率

ios - App Store Binary Rejected - 与您的应用关联的卖家和公司名称未反射(reflect)该名称

php - 从网络上将图像和数据存储在 iPhone 应用程序上的最有效方法是什么?

c++ - 编译 STL map 插入时出现问题

linux - 是否有一个 header 提供类似于 uint64_t 的类型,用于 Linux 或 gcc 中的 float 和 double ?

iphone - iPhone 设备上的 gdb 未在断点处停止

iphone - 我们可以在 iPhone 设备上自动安装任何 .deb/.ipa 文件吗?

ios - UITableView Footer 查看背景颜色以清除颜色不起作用