Code Monkey home page Code Monkey logo

ctfeedback's Introduction

CTFeedback

If your app supports over iOS9.0 and written in swift, you can use CTFeedbackSwift -

CTFeedback is a library to send feedback for iOS 6.0+.

Screenshot

Install

CTFeedback is on CocoaPods. Simply add:

pod 'CTFeedback'

to your Podfile.

Example

CTFeedbackViewController *feedbackViewController = [CTFeedbackViewController controllerWithTopics:CTFeedbackViewController.defaultTopics localizedTopics:CTFeedbackViewController.defaultLocalizedTopics];
feedbackViewController.toRecipients = @[@"[email protected]"];
feedbackViewController.useHTML = NO;
[self.navigationController pushViewController:feedbackViewController animated:YES];

Sample Output

###Plaintext Email:

Device: iPhone 5s (GSM)

iOS: 7.0.4

App: CTFeedbackDemo

Version: 1.0.1

Build: 1.0.1

###HTML Email:

<tr><td>Device:</td><td><b>iPhone 5s (GSM)</b></td></tr>
<tr><td>iOS:</td><td><b>7.0.4</b></td></tr>
<tr><td>App:</td><td><b>CTFeedbackDemo</b></td></tr>
<tr><td>Version:</td><td><b>1.0.1</b></td></tr>
<tr><td>Build:</td><td><b>1.0.1</b></td></tr>

Custom Feedback via your server API

You also can use your own server API to send feedback. It can be useful if user has no E-mail account on device or else.

To use custom callback set useCustomCallback to YES. If you want to let user input his E-mail, set showUserEmail to YES.

CTFeedbackViewController *feedbackViewController = [CTFeedbackViewController controllerWithTopics:CTFeedbackViewController.defaultTopics localizedTopics:CTFeedbackViewController.defaultLocalizedTopics];
feedbackViewController.showsUserEmail = YES;
feedbackViewController.useCustomCallback = YES;
feedbackViewController.delegate = self;
[self.navigationController pushViewController:feedbackViewController animated:YES];

Also implement delegate function:

- (void)feedbackViewController:(CTFeedbackViewController *)controller
   didFinishWithCustomCallback:(NSString *)email
                         topic:(NSString *)topic
                       content:(NSString *)content
                    attachment:(UIImage *)attachment

See demo for more details.

License

MIT license

ctfeedback's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ctfeedback's Issues

iOS 10 permission text needed

with iOS 10 additional texts needed for the permissions. The library uses the following two:

<key>NSCameraUsageDescription</key>
<string>App uses permission to take photo and add it to feedback screen</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>App uses permission to add photo to feedback screen</string>

The app crashes when additional photo cell tapped on the library unless this parameters added to project Info.plist

Assertion failure crash - iOS 8 GM

Hey!

I'm getting a very weird error. I'm using Xcode 6.1 beta and running on a iPad Mini Retina on iOS 8 GM.

Error:
2014-09-15 14:32:53.219 [1604:116309] *** Assertion failure in -[UICTFont _scaledValueForValue:], /SourceCache/UIFoundation/UIFoundation-371/UIFoundation/iOS/UIFont.m:496 2014-09-15 14:32:53.221 [1604:116309] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'scaledValueForValue: called on a font that doesn't have a text style set' *** First throw call stack: (0x1864c6084 0x196db80e4 0x1864c5f44 0x187345f54 0x1936260ec 0x18ad9f818 0x18ad9e864 0x18ac45d00 0x18a59dd58 0x18a598944 0x18a5987e8 0x18a597fe8 0x18a597d6c 0x18a59179c 0x18647e388 0x18647b314 0x18647b6f4 0x1863a9664 0x18f4a75a4 0x18acae984 0x100089fc4 0x197426a08) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)

Is this a bug in CTFeedback or in iOS 8? Or am I doing something wrong?

PlatformNames.plist is not loaded when using Cocoapods

Hi. I use Cocoapods to install CTFeedback. My issue is I'm always getting null/nil/empty platform string.
This code from CTFeedbackViewController.m the filePath is always retuning nil.

- (NSString *)platformString
{
    NSString *platform = [self platform];

    // Reading a file with platform names
    // http://theiphonewiki.com/wiki/Models
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"PlatformNames" ofType:@"plist"];
    NSDictionary *platformNamesDic = [NSDictionary dictionaryWithContentsOfFile:filePath];

    // Changing a platform name to a human readable version
    platform = platformNamesDic[platform];

    return platform;
}

Please add Swedish translation

"Question" = "Förfrågan";

"Request" = "Förslag";

"Bug Report" = "Bugg";

"Other" = "Annan";

"Device" = "Enhet";

"iOS" = "iOS";

"Name" = "Namn";

"Version" = "Version";

"Build" = "Build";

"Device Info" = "Enhetsinformation ";

"App Info" = "App Info";

"Feedback" = "Feedback";

"Topic" = "Ämne";

"Topics" = "Ämnen";

"Error" = "Felmeddelande";

"Mail" = "Skicka";

"Mail no configuration"="Det går inte att verifiera ett giltligt epost-konto";

"Dismiss"="Avfärda";

"Additional Info"="Ytterligare information";

"Additional detail"="Välj bifogad fil(bild) ";

"Cancel"="Ångra";

"Camera"="Kamera";

"PhotoLibrary"="Välj från album";

"User detail"="Användardetaljer";

CTFeedback.bundle to copy not found

Using CTFeedback several months now, very nice and good to handle.

For some reason it adds a bundle path that should be a copied resource.

'''Pods/${BUILT_PRODUCTS_DIR}/CTFeedback.bundle'''

This path is not found later during processing:

project/Pods/${BUILT_PRODUCTS_DIR}/CTFeedback.bundle
building file list ... rsync: link_stat
/Pods/${BUILT_PRODUCTS_DIR}/CTFeedback.bundle" failed: No such file or directory (2)

Any Idea?

Must have NavigationController?!?!

Why this implementation strict me to use NavigationController???

I want to present CTFeedbackViewController modally...

Hope it's will be changed :/

10x any way.

Doesn't recognize device

Hi, I'm using CTFeedback in my new project on my iPhone 5 and it doesn't recognize the Device.

Also it doesn't recognize devices either in Xcode Version 6.0.1 (6A317).

Is this a know bug, how can it be fixed? Maybe I can do it myself.

Thanks :)

image

Keyboard not dismissing when adding image.

If "Additional Info" is tapped to choose image while keyboard is still present, actionsheet is presented behind the keyboard and other views are grayed out.

Currently, user can get out of this state by tapping any view other than keyboard, and then scroll to dismiss the keyboard. Because actionsheet is dismissed when user do this, user doesn't know there was an actionsheet until they tap "Additional Info" again.

2016-01-27 09 53 52

Change title of right bar button item

It'd be nice if a string property was exposed that allowed us to change the title of the "Mail" button. For example, I'd like to change it to "Send".

Resource not found

I have added CTFeedback to my pod file and when I build, this is the error I am getting.
error: Resource "/Users/....../Library/Developer/Xcode/DerivedData/......../Build/Products/Debug-iphonesimulator/CTFeedback/CTFeedback.bundle" not found. Run 'pod install' to update the copy resources script.

I have cleaned, built and even run 'pod install' number of times but not success. Please help me. Thanks

Status bar color

When I have white color of Status bar, it looks not nice when feedback controller presented modally and have navigation bar with light color too

Russian localisation

Hi, can you please add Russian localisation:

"Question" = "Вопрос";

"Request" = "Запрос";

"Bug Report" = "Отчет об ошибке";

"Other" = "Другое";

"Device" = "Устройство";

"iOS" = "iOS";

"Name" = "Название";

"Version" = "Версия";

"Build" = "Билд";

"Device Info" = "Информация об устройстве";

"App Info" = "Информация о приложении";

"Feedback" = "Обратная связь";

"Topic" = "Тема";

"Topics" = "Темы";

"Error" = "Ошибка";

I have some problems with adding a pull request :(

Please add Dutch translation

"Question" = "Vraag";

"Request" = "Verzoek";

"Bug Report" = "Bug verslag";

"Other" = "Overig";

"Device" = "Toestel";

"iOS" = "iOS";

"Name" = "Naam";

"Version" = "Versie";

"Build" = "Build";

"Device Info" = "Toestel informatie";

"App Info" = "App informatie";

"Feedback" = "Feedback";

"Topic" = "Onderwerp";

"Topics" = "Topics";

"Error" = "Error";

"Mail" = "Mail";

"Mail no configuration"="Je hebt geen geldige e-mail account";

"Dismiss"="Sluiten";

"Additional Info"="Extra informatie";

"Additional detail"="Selecteer een afbeelding";

"Cancel"="Annuleren";

"Camera"="Camera";

"PhotoLibrary"="Selecteer uit album";

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.