Fork me on GitHub

Alex Rupérez

Language: Objective-C
Published: 18 Dec 11:54
Last push: 16 Jun 10:23
Description: ARSpeechActivity is a UIActivity subclass that uses AVSpeechUtterance to read aloud the shared NSString
View on GitHub



Twitter GitHub Issues Version License Platform Analytics

ARSpeechActivity is a UIActivity subclass that provides a "Read" action to a UIActivityViewController.

ARSpeechActivity screenshot


  • As UIActivity is iOS >= 6 only, so is the subclass.
  • This project uses ARC. If you want to use it in a non ARC project, you must add the -fobjc-arc compiler flag to ARSpeechActivity.m in Target Settings > Build Phases > Compile Sources.


Add the ARSpeechActivity subfolder to your project. Add the AVFoundation framework to your proyect.


(See example Xcode project)

Simply alloc/init an instance of ARSpeechActivity and pass that object into the applicationActivities array when creating a UIActivityViewController.

NSString *textToRead = @"Hello World!";
ARSpeechActivity *speechActivity = [[ARSpeechActivity alloc] init];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[textToRead] applicationActivities:@[speechActivity]];
	[self presentViewController:activityViewController animated:YES completion:nil];

Note that you can include the activity in any UIActivityViewController and it will only be shown to the user if there is a NSString in the activity items.