A test Titanium iOS module built with Swift. Just for learning how to build them and use UIViews and custom stuff.. etc.
This is just a test/example module I'm build as I learn to build Titanium iOS app modules using Swift instead of Objective-C.
It demonstrates how to communicate with the module (and its view) from within the app.
Included for demonstration is a third-party view animation of the old Siri 'waves', using a Swift adaptation of SCSiriWaveformView. Also, a microphone level monitor has been created in the module using
AVAudioRecorder and added to attempt to learn how to draw the values provided by the audio level metering.
And other stuff I haven't thought of yet… ;)
Feel free to fork, comment and improve the mess I'm no doubt making here!!
And obviously, CODE STRONG!!
Here's some screenshots of the (evolving) example app:
To run the
example/app.js, you will need to create an iOS app with the following added to the
tiapp.xml file in the
ios section :
<ios> <enable-launch-screen-storyboard>true</enable-launch-screen-storyboard> <use-app-thinning>true</use-app-thinning> <default-background-color>#333333</default-background-color> <plist> <dict> <key>UISupportedInterfaceOrientations~iphone</key> <array> <string>UIInterfaceOrientationPortrait</string> </array> <key>UISupportedInterfaceOrientations~ipad</key> <array> <string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationPortraitUpsideDown</string> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> </array> <key>UIRequiresPersistentWiFi</key> <false/> <key>UIPrerenderedIcon</key> <false/> <key>UIStatusBarHidden</key> <false/> <key>UIStatusBarStyle</key> <string>UIStatusBarStyleLightContent</string> <key>UIBackgroundModes</key> <array> <string>audio</string> </array> <key>NSMicrophoneUsageDescription</key> <string>For monitoring audio levels and recording</string> </dict> </plist> </ios>
.. and obviously (?) you'll need to include the module itself in the
<modules> section too:
Further discussion can be had in the
#module-development channel on Ti-Slack https://ti-slack.slack.com