Latest 0.1.8
License MIT
Platforms ios 8.0, requires ARC

CI Status


Cricket is an iOS library for sending feedback from within your app.

Typical Scenario:

  1. Alice wants to leave feedback. She shakes her phone.
  2. Cricket grabs a screenshot of the current screen.
  3. Alice draws a rectangle around a button she doesn’t like.
  4. She writes "I hate buttons!"
  5. Cricket attaches the annotated screenshot to an email and Alice sends it.

GitHub Logo

Hello Cricket

#import <NPCricket/NPCricket.h>
#import <NPCricket/NPNativeEmailHandler.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    NPNativeEmailHandler *nativeEmailHandler = [NPNativeEmailHandler handlerWithToEmailAddress:@"[email protected]"];
    [NPCricket useHandler:nativeEmailHandler];
  // ... your code here ...
  return YES;

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    if (motion == UIEventSubtypeMotionShake) {
        [NPCricket show];


Cricket does not show itself automatically. Instead, you must call [NPCricket show] yourself. The example above uses a shake gesture to trigger Cricket. It also sends the feedback via email. You can customize and configure both of these things to your liking.

Cricket uses "handlers" to process feedback. Any class can become a handler by conforming to the NPCricketHandler protocol. An example of a custom handler could be something that sends feedback directly to your server.

For your convenience I’ve included a handler for using the built-in email composer (NPNativeEmailHandler)

Creating Handlers

If you want to create your own handler simply create a class that conforms to NPCricketHandler and implement the single method, like so:

#import "NPCricketHandlerProtocol.h"

@interface MyCustomHandler : NSObject <NPCricketHandler>

@implementation MyCustomHandler

- (void)NPCricket_handleFeedback:(NPFeedback *)feedback {
  // Do something with the feedback ...


Don’t forget to tell NPCricket to use your handler.

MyCustomHandler *myCustomHandler = [[MyCustomHandler alloc] init];
[NPCricket useHandler:myCustomHandler];


Cricket requires iOS 8.0 and above.


NPCricket is available through CocoaPods. To install
it, simply add the following line to your Podfile:

pod "NPCricket"


Nebojsa Petrovic, [email protected]


NPCricket is available under the MIT license. See the LICENSE file for more info.

Latest podspec

    "name": "NPCricket",
    "version": "0.1.8",
    "summary": "Allow users to send feedback directly from your iOS app",
    "description": "NPCricket is an iOS library that allows you to solicitnfeedback from users directly from within your app.",
    "homepage": "",
    "license": "MIT",
    "authors": {
        "Nebojsa Petrovic": "[email protected]"
    "source": {
        "git": "",
        "tag": "0.1.8"
    "social_media_url": "",
    "platforms": {
        "ios": "8.0"
    "requires_arc": true,
    "source_files": "Pod/Classes/**/*.{h,m}",
    "resource_bundles": {
        "NPCricket": [
    "public_header_files": "Pod/Classes/**/*.h"

Pin It on Pinterest

Share This