NSTask或iPhone的等价物

NSTask或iPhone的等价物

问题描述:

我有一个开源项目(gdal),我想编译并作为iOS应用程序的一部分运行。我一直期待使用NSTask,但我现在看到它已在iOS 3.0中删除。我也看到其他地方运行外部应用程序,虽然这将是我的应用程序包中的资源,但不允许。NSTask或iPhone的等价物

是否有其他人找到了在其iOS应用程序中运行命令行工具的方法?

+0

我目前正在尝试类似的事情,你有没有最终得到这个工作? – 2011-03-31 23:23:13

+0

我知道这是一个古老的线程,但它的第一个问题出现在谷歌iPhone上的''nstask我搞砸了jailbroken iphones:http://*.com/questions/9983430/trying-to-use-cydia -libraries-nstask-on-jailbroken-iphone-crashes-with-segmenta/10019390 – apple16 2012-04-04 21:20:55

它在3.0中没有被删除,它从来没有在那里。没有办法在iPhone上运行单独的进程。 GDAL似乎是麻省理工学院风格的许可证,并有一个图书馆界面,所以直接链接到iPhone应用程序不应该有任何法律或技术问题。

+1

感谢Louis, 与连接到Apple提供的框架的过程是否一样? libgdal.a大约是40MB,比我的其他项目大得多,所以我希望只使用可执行的gdalinfo(大约5mb),但看起来不像我可以直接链接的东西。 我知道有很多开源的iPhone应用程序,但如果你碰巧知道任何与苹果框架以外的代码链接,我真的很感兴趣,看看它是如何完成的。 – Craig 2009-10-08 18:45:06

+0

那么,显然你想要的功能所需的代码量必须小于40兆字节。是否可以有效地将其分开是一个单独的问题。另外,我会认为40 megs意味着它没有被去掉,并且具有所有调试符号(可能非常大)。剥下它会缩小多少? – 2009-10-09 02:44:03

+0

我想我将不得不在本网站上提出更多问题。我不知道如何去除调试符号。它是使用由Christopher Stawarz编写的脚本“build_for_iphoneos”编译的,也许有一些关于我需要设置的标志的说明。 在此期间,我会尝试像框架一样导入它,并看到我可以在完整的40mb版本上运行哪些功能。 – Craig 2009-10-09 05:06:35

NSTask可在ios 4,ios 3以及其他所有版本中使用。要使用NStask,我必须将NStask头文件从我的mac复制到我的项目文件夹。此外,Apple很可能不会允许在appstore中使用NStask的应用程序。 Cydia可能是分发你的应用程序的最佳地点

+0

你在设备上测试过吗?如果您刚刚在模拟器中进行测试,则会使用Mac OS X源代码,因为NSTask.m(最必要的文件)将会丢失。 – jrtc27 2010-09-04 17:34:55

+0

我相信我在一个设备上测试过它,但我不记得 – romejoe 2010-09-04 21:35:54

+0

NSTask在iOS上,你需要它的头来编译这一切。 – 2012-06-10 18:16:40

只是提醒:
NSTask不会在沙箱环境下工作(你会得到“拒绝过程叉”)。所以把你的应用程序进入/应用程序

+0

呃?我认为你无法选择iPhone应用程序的部署位置。 – Craig 2012-08-10 03:42:43

+1

您可能需要越狱.. – hewigovens 2012-08-10 15:13:09

+0

问:如何复制它?到我正常的项目文件夹,而不是#import它? --------- 什么是越狱评论?如果在iOS上使用NSTask,苹果是否会拒绝该应用程序? ----------我想这样做:http://*.com/questions/16626577/ios-and-calling-terminal-commandos-with-ibaction?noredirect=1#comment23907909_16626577 – webschnecke 2013-05-19 11:43:00