SlackTextViewController Deployment and Usage Guide
Prerequisites
- Platform: iOS 7, 8 & 9
- Language: Objective-C or Swift
- Development Environment: Xcode
- Dependencies: None required for basic functionality
Installation
Using CocoaPods
- Add the following line to your
Podfile:pod "SlackTextViewController" - Run the following command in your terminal:
pod install
Using Carthage
- Add the following line to your
Cartfile:github "slackhq/SlackTextViewController" - Run the following command in your terminal:
carthage update
Manual Installation
- Copy the
Source/folder from the repository to your project directory - Or compile the project located in
Builder/SlackTextViewController.xcodeprojto create aSlackTextViewController.frameworkpackage - Link the library into your project following Apple's documentation
Configuration
Subclassing Setup
Create a new subclass of SLKTextViewController and initialize it with your preferred view type:
For UITableView:
// Objective-C
[super initWithTableViewStyle:UITableViewStylePlain]
// Swift
super.init(tableViewStyle: .Plain)
For UICollectionView:
// Objective-C
[super initWithCollectionViewLayout:[UICollectionViewFlowLayout new]]
// Swift
super.init(collectionViewLayout: UICollectionViewFlowLayout())
For UIScrollView:
// Objective-C
[super initWithScrollView:self.myStrongScrollView]
// Swift
super.init(scrollView: self.myStrongScrollView)
Important Notes
- Update to version >= 1.9 to avoid app rejection risks
- The library uses inverted mode by default (cells displayed upside-down)
- Set
invertedModeEnabledtoNOif you don't want inverted cells
Build & Run
Development
- Open your Xcode project
- Ensure the SlackTextViewController framework is properly linked
- Build and run your application on a simulator or device
Production
- Follow the same build process as development
- Ensure you're using version >= 1.9 for App Store submission
- Test all messaging features thoroughly before deployment
Deployment
App Store Submission
- Build your application archive
- Upload to App Store Connect
- Ensure compliance with Apple's guidelines (version >= 1.9 recommended)
Distribution
- The library is compatible with iOS 7, 8 & 9
- Works on both iPhone and iPad devices
- Supports iPad Multitasking (iOS 9 only)
Troubleshooting
Common Issues
App Rejection
- Issue: App rejection due to library version
- Solution: Update to version >= 1.9
Inverted Cells
- Issue: Cells appear upside-down
- Solution: Set
invertedModeEnabledtoNOin your subclass
Keyboard Not Dismissing
- Issue: Keyboard doesn't dismiss on tap
- Solution: Ensure tap gesture recognizer is properly configured
Autocomplete Not Working
- Issue: Autocomplete feature not functioning
- Solution: Verify prefix keys are properly registered in your subclass
Additional Support
- Check the GitHub issues for reported problems
- Review the pull requests for potential fixes
- The project is deprecated, so community support may be limited
Performance Tips
- Monitor memory usage when using growing text view with large amounts of text
- Test undo/redo functionality thoroughly
- Ensure proper cleanup of text view resources when view controller is deallocated