Users: FAQ & Problems
Crashes, does strange things, ate my dog or cat
It's not long on Cydia and there are some packages extending Siri already in Cydia. They may collide with this tweak, AE may have a bug or their tweek has a bug. Please wait couple of days until we test it with most popular Siri tweaks to ensure compatibility. If it doesn't work with your paid app/tweak discuss this with their developer as I can't buy all paid Cydia apps to test. You may try to uninstall other Siri tweak, maybe this helps (if so let me know please). If you have serious problems, just uninstall AE for now and wait. It's free software - I try to do my best - but takes some time to develop, test, debug, check collisions, etc.
After enabling the "let's chat", every time I ask Siri to do something it chats with me, doing nothing.
You need to say "goodbye" to go out of "chat mode" or just close Siri and wait couple of seconds until assistantd process terminates, so that next time you run it, you will be in the normal mode.
When I say tweet text it immediately sends it. Is there a way to show preview first?
It has been changed in 1.0.1-4 up. Say "show tweet text" to show tweet dialog before posting. Say "tweet text" to tweet immediately. Note: Tweet dialong has a known keyboard problem, not hi priority, but will be fixed.
When I correct recognized text manually or enter text request it doesn't work.
Known problem. Will be adressed in some update when the right time it (after all higher priority problems).
Can AE do the same things like SiriToggles, e.g. launch apps, turn services on/off, etc? What about Sireet?
Almost, I am still working on it and all features of SiriToggles will be implemented soon. The power of AE is in 3rd-party extensions though, where everyone can make their own extensions, just like for SBSettings toggles.
Can you make a german and french release of your AE tweak please?
This is a planned feature. I want to localize all built-in commands. For chatbot, it needs localized AIML definitions which are available - needs to be implemented though. I will also try to force 3rd party developers to make their extensions with multi-language support but this may need an API update. If you are a developer, please don't make extensions which do just some built-in commands but using a different language as I want this to be included in base AE installation.
Do you think there will be a Tweak/Plugin that will allow all Non US Siri uses, to Siri for location based searches?
I don't know, but it is theoretically possible. Depends on other developers interested in this. There is the only problem - such extension would need to recognize that original Apple service is not yet available for that location and process it, but do not block original Apple responses where they are available. If you are a developer and want to work on this, discuss this with me.
So it's like SBSettings for Siri but where are on/off switches?
I worked on this since launch of 4S (nedeed to do other stuff unfortunatelly - programming appstore games). But other devs like SiriToggles released before me so the only way was to release now. And what it means is that it's not finished (yet) - it's still work-in-progress but what it does already does (hopefully) "the good way" (I mean technically - API). Don't worry - there will be switches for extensions and built-in commands - I will continue working on it as my timeline allows me.
Toggling things doesn't work. Toggle XXX is not installed.
You need to install SBSettings as AE uses it's toggles. This way you can use voice commands to on/off any SBSettings toggle - there are many toggles for various things.
If i have Siri on my iPod Touch 4G (via Spire) would i need a proxy for this to work?
Yes (for now). After extending api to allow intercepting siri->server commands, someone will very probably port some kind of on-device voice recognition or use something free like Google Voice Recognition and make an AE extension for this. But now, it needs Apple's servers.
Developers: FAQ & Problems
My extension doesn't work / I want to have some debug log
Be sure to enable syslog (via Syslog Toggle) or following this. AE logs some common problems, maybe there will be the reason logged. After enabling, reboot or restart syslogd via launchctl. Then you will see syslog stored in /var/log/syslog. Use tail -f /var/log/syslog to watch syslog in realtime on the device. NSLog calls from your extension goes to the syslog.
My extension crashes
Well... that's bad. I can't help every single developer personally, but first of all make sure you do your memory management correctly - it's VERY important to do memory management well. If you are begineer, try to make a simple iOS app first and test your views / commands there (simulate the AE behavior by pressing buttons or such). Also read guides available at developer.apple.com. If you are more experienced tweaker, use gdb remotely. It works fine over USB (using tcprelay.py from usbmuxd project), you can call ~/debugserver -a PID host:6789 to attach to a running process (for AE extensions it's SpringBoard).
Where are extensions stored on the device?
All extensions are in /Library/AssistantExtensions, but if your extension needs write access or stores settings, write your data files to /var/mobile/Library/something. This way your data should be also backed up by iTunes.
How to make that drop shadow like in Weather snippet? My UIView won't move to negative positions.
Your UIView is directly given to Siri UI, the same way Apple does it. You have all the power. The reason it won't move to negative positions is because they designed it that way. Siri also detects height of your view automatically. If you need to draw shadows or this kind of stuff at the corners, create drawInRect in your view and draw at negative positions. This is how Apple does this. They call drawAtPoint method of UIImage to draw at negative positions. Here is also some report from Lingual developer: "My image file includes the shadow, of course, and it's 640px wide. I use [UIImage stretchableImageWithLeftCapWidth:topCapHeight] to make it stretchable height-wise. I then [_view setFrame:CGRectMake(-10, 0, 320, totalHeight)], where totalHeight is the desired height of the widget. Inside of _view is a UIImageView 320px in width with that UIImage. And I also set the frame of that to have an x-coordinate of -10px. Other than that, the rest of my snippet is a nested view 300px wide."
I can't load images or other resources from the bundle.
You are probably using something like [UIImage imageNamed] right? Your extension is loaded into AE which lives in SpringBoard that means by default functions like this looks for resources in SpringBoard.app bundle (/System/Library/CoreServices/SpringBoard.app). For your read-only resources you should not use SpringBoard bundle but your extension bundle instead. You can load images like this: 1. Get pointer to your bundle for example like this NSBundle* bundle = [NSBundle bundleForClass:[self class]]; 2. Get path to the resource, for example like this NSString* path = [bundle pathForResource:@"image" ofType:@"ong"]; 3. Create the image [UIImage imageWithContentOfFile:imgPath].
Logo by @sebhel19 (sebastianhelms.de).