2

有哪些工具可用于在首次启动时设计用户友好的教程以指导用户使用您的应用程序(在 Apple 帮助手册之上,更多的是针对日常问题),就像很多应用程序似乎都有的那样?

你可以想象,我尝试了所有我能想到的谷歌查询,但使用framework cocoa tutorial的只是提供如何开发 Cocoa 框架的教程;)

4

2 回答 2

2

不,实际上没有内置功能。
但我相信你自己实现它绝对没有问题。

您可以NSUserDefaults用于此任务。

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    if (![[NSUserDefaults standardUserDefaults] boolForKey:@"isNotFirstLaunch"]) {
        // This is the first launch! Do whatever you want

        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isNotFirstLaunch"];
    }
}

因此,例如,您可以显示一个窗口,其中包含有关如何使用它的信息。
显然,您需要创建ITFirstLaunchWindowController该类。

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    if (![[NSUserDefaults standardUserDefaults] boolForKey:@"isNotFirstLaunch"]) {
        self.firstLaunchWindowController = [ITFirstLaunchWindowController new];
        [self.firstLaunchWindowController showWindow:self];

        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isNotFirstLaunch"];
    }
}

编辑

这有帮助吗?

NSAlert *alert = [NSAlert alertWithMessageText:@"First Launch!"
                                 defaultButton:@"Try!"
                               alternateButton:@"No thanks, I don't like being nice"
                                   otherButton:nil
                     informativeTextWithFormat:@"Hey, Try out this awesome feature!"];

if ([alert runModal] == NSAlertDefaultReturn) {
    // The "Try!" button was clicked
    [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://ourwebsite.com/newFeature"]];
}

在此处输入图像描述

于 2013-11-02T21:20:44.813 回答
0

我最终使用基于 NSPopover 的方法尝试了一个我认为非常优雅的解决方案,并且由于我是 Github 的新手,我认为这将是一个采购项目的好机会;所以这里是:

BCFirstLaunch教程

资料来源:Github 上的 BCFirstLaunchTutorial

在此处输入图像描述

教程由一系列出现的 NSPopover 组成,它们指向对象并显示您选择的文本。关闭前一个 NSPopover 对象时会显示下一个 NSPopover 对象。

注意:承载 NSPopover 的对象需要能够响应才能@selector(bounds)使用。

事件被添加到教程中,如下所示:

[myPopoverController    addEventWithObject: myTextView
        andText:@"This is my TableView. Close this Popover to open the next one."];
于 2013-11-04T16:05:03.907 回答