2

我有一个应用程序我想在一个包装应用程序中捆绑在一起(与一些附加文件)。

从字面上看,我唯一想做的就是让包装应用程序启动一个资源文件(即,就好像我输入了:

/path/to/Resources/Bundled.app/Contents/MacOS/executable

进入终端。

有道理?我认为这应该很简单,但我找不到简单的方法来做到这一点——至少可以说,我的可可编程是有限的。

提前致谢!

4

4 回答 4

3

一种方法,如果包装的“应用程序”只是一个 shell 脚本或其他东西,那就是Platypus

如果它是一个实际的应用程序(.app 包),为什么应用程序 A 除了启动应用程序 B 什么都不做?为什么有应用程序A?

于 2010-01-30T23:23:01.957 回答
1

我有一篇关于此的博文:Turn any shell script into a double-clickable app。该条目提到“从一个空的应用程序包开始”......如果我没记错的话,你可以通过使用提到的 Pashua 工具来获得它......

于 2010-01-30T15:18:53.303 回答
1

您的外部程序可以使用 NSBundle 在外部程序的包中定位内部程序。

运行内部程序:如果是应用程序,请使用Launch ServicesNSWorkspace;如果它是命令行工具,请使用NSTask

于 2010-01-31T16:24:14.607 回答
1

只是为了后代(如果它对其他人有帮助,这里是我使用的完整代码(在 AppDelegate.m 文件中):

NSString *appName = @"";
NSString *bundledApp = [[NSBundle bundleWithPath:[[NSBundle
                                                           mainBundle] pathForResource:appName ofType:@"app"]]
                          bundlePath];
NSWorkspace *launchApp = [[NSWorkspace alloc] init];
NSLog(@"Launching %s", bundledApp);
[launchApp launchApplication:bundledApp];
[launchApp release];

// Make Launcher terminate (if it serves no other purpose)
[NSApp terminate:nil];
于 2010-06-19T12:43:44.630 回答