针对Cocoa应用程序的首发教程的解决方案

时间:2013-11-02 21:15:09

标签: macos cocoa

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

您可以想象,我尝试了我能想到的每个Google查询,但使用framework cocoa tutorial只提供了有关如何开发Cocoa框架的教程;)

2 个答案:

答案 0 :(得分:2)

不,实际上没有内置功能。<​​br/> 但我相信你自己完全没有问题。

您可以使用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"]];
}

enter image description here

答案 1 :(得分:0)

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

BCFirstLaunchTutorial

来源:BCFirstLaunchTutorial on Github

enter image description here

教程由一系列NSPopovers出现,指向对象并显示您选择的文本。当前一个NSPopover对象关闭时,将显示下一个NSPopover对象。

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

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

[myPopoverController    addEventWithObject: myTextView
        andText:@"This is my TableView. Close this Popover to open the next one."];