RZDebugMenu 0.3.0

RZDebugMenu 0.3.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2015年11月

Michael GorbachNick DonaldsonEric Slosser维护。



  • Clayton Rieck, Nick Donalodson 和 Michael Gorbach

RZDebugMenu 为您提供了一个简单的方法,以便将可调整的、仅供调试使用的前置或设置添加到您的应用程序中。这对于您在开发期间经常想更改但永远不会在生产环境中更改的许多设置非常有用,例如,您是否使用 stagingproduction API 端点。

RZDebugMenu 通过设置包 plist 文件进行配置,就像您为向 Settings.app 添加(发布构建)设置而创建的那些。它支持在此处定义的大多数设置包模式 这里

一旦在应用程序启动时配置,RZDebugMenu 就会在双指三击手势上自动显示您的菜单。

用法

设置

RZDebugMenu 由设置包 plist 文件驱动,因此您应该首先创建此 Plist 并将其添加到您的项目中。

要设置 RZDebugMenu,请将以下代码添加到您的 Application Delegate 的 application:didFinishLaunchingWithOptions: 方法中。

    #if (DEBUG)
        // To activate the debug menu, call this method with the name of the settings plist you want to use. It should be included in your application bundle.
        [RZDebugMenu enableMenuWithSettingsPlistName:@"debug_settings"];
    #endif

一旦您有了窗口,要设置双指三击手势以显示菜单,请添加以下代码

    #if (DEBUG)
    // To configure automatic show and hide of the debug menu via a 4-tap gesture, call this method with your app's primary window.
    [[RZDebugMenu sharedDebugMenu] registerDebugMenuPresentationGestureOnView:self.window];
    #endif

访问设置

您现在可以通过 RZDebugMenuSettings 访问您的调试设置。

    [RZDebugMenuSettings sharedSettings][@"my_setting_key"]

您还可以使用标准 KVO 在 RZDebugMenuSettings 上访问设置,并监视更改。

    NSNumber *namePreference = [[RZDebugMenuSettings sharedSettings] valueForKey:@"name_preference"];
    [[RZDebugMenuSettings sharedSettings] addObserver:self forKeyPath:@"name_preference" options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew context:NULL];

最后,您可以通过 NSNotification 检测设置更改,如果您更喜欢这种方法。

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(settingsChanged:) name:kRZDebugMenuSettingChangedNotification object:nil];

此通知将包含描述已更改设置的键以及旧值和新值。

高级用法

检查示例应用程序中的某些高级使用模式,包括

  • 更改设置存储方式(是否从或连接到您的常规 NSUserDefaults
  • 手动显示和关闭菜单

尝试

要尝试 RZDebugMenu,请安装 CocoaPods 并运行

pod try RZDebugMenu

安装

RZDebugMenu 通过 CocoaPods 提供。要安装,只需将以下行添加到您的 Podfile

pod RZDebugMenu

作者

当前维护者

前任维护者

  • 克莱顿·里克
  • 尼古拉斯·唐纳德森