The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "Siri"
(→Changing Server: new section; also removed cydia URL, not working) |
(more server info, plus added assistantd and spire) |
||
Line 1: | Line 1: | ||
− | '''Siri''' is a voice assistant feature of the [[N94ap|iPhone 4S]] and one of the main selling points for this device, although still in beta. A port to iPhone 4 and late model iPod touch has been completed by {{twitter|stroughtonsmith}} with the help of [[User:Chpwn|chpwn]]. |
+ | '''Siri''' is a voice assistant feature of the [[N94ap|iPhone 4S]] and one of the main selling points for this device, although still in beta. A port to iPhone 4 and late model iPod touch has been completed by {{twitter|stroughtonsmith}} with the help of [[User:Chpwn|chpwn]], and is available in Cydia as [Spire cydia://package/com.chpwn.spire]. |
== Files == |
== Files == |
||
Line 9: | Line 9: | ||
* /System/Library/LaunchDaemons/com.apple.assistant*.plist |
* /System/Library/LaunchDaemons/com.apple.assistant*.plist |
||
* /Applications/Preferences.app/*Assistant.plist |
* /Applications/Preferences.app/*Assistant.plist |
||
+ | * /usr/bin/assistantd |
||
Although other iOS 5 devices are capable of running Siri, they do not include the above files that are required for it to work. |
Although other iOS 5 devices are capable of running Siri, they do not include the above files that are required for it to work. |
||
Line 21: | Line 22: | ||
Holding down the home button for a second should activate the Siri tray at the bottom of the screen, but saying anything will make it say it can't connect. This is due to the device requiring an identifier that the Siri servers generate every 24 hours for 4Ses. [[SiriProxy]] can overcome this if you have access to a 4S. |
Holding down the home button for a second should activate the Siri tray at the bottom of the screen, but saying anything will make it say it can't connect. This is due to the device requiring an identifier that the Siri servers generate every 24 hours for 4Ses. [[SiriProxy]] can overcome this if you have access to a 4S. |
||
− | The stock assistant images from the 4S are only available in Retina size. On non-Retina devices ([[iPad]] and [[N88ap|iPhone 3GS]]), this means many interface features may look different. The theme |
+ | The stock assistant images from the 4S are only available in Retina size. On non-Retina devices ([[iPad]] and [[N88ap|iPhone 3GS]]), this means many interface features may look different. The theme [cydia://package/net.sourceforge.adamscode.siri1xgfx Siri Graphics for iPhone 3GS and iPad] in Cydia fixes this. |
== Changing Server == |
== Changing Server == |
||
− | The server that Siri sends its data through can be changed in a number of ways. |
+ | The server that Siri sends its data through can be changed in a number of ways. The most reliable method is to use a DNS server, as [http://www.youtube.com/watch?v=a9gO4L0U59s demonstrated by plamoni]. |
An easier approach is to edit the <tt>com.apple.assistant.plist</tt> file in the device's <tt>/var/mobile/Library/Preferences</tt> folder. It can be changed either on a jailbroken device with iFile, or via an iPhone backup reading utility. The hostname string simply needs to be replaced with the URL of your SiriProxy (i.e. your computer's IP address). |
An easier approach is to edit the <tt>com.apple.assistant.plist</tt> file in the device's <tt>/var/mobile/Library/Preferences</tt> folder. It can be changed either on a jailbroken device with iFile, or via an iPhone backup reading utility. The hostname string simply needs to be replaced with the URL of your SiriProxy (i.e. your computer's IP address). |
||
− | This method could also allow for your SiriProxy to work outside of your Wi-Fi network, if you set up forwarding for port 443 to your computer in your router, and use your [http://whatismyip.com external IP address]. However, some routers don't do port forwarding inside of their network, so you would need to change this setting yourself when you arrive or leave home. |
+ | This method could also allow for your SiriProxy to work outside of your Wi-Fi network, if you set up forwarding for port 443 to your computer in your router, and use your [http://whatismyip.com external IP address]. However, some routers don't do port forwarding inside of their network, so you would need to change this setting yourself when you arrive or leave home. A static IP or dynamic DNS address (such as one from [http://dyn.com Dyn]) is recommended. |
− | The <tt>/etc/hosts</tt> file on a jailbroken device can also be modified. This can also be used externally, like the above method. |
+ | The <tt>/etc/hosts</tt> file on a jailbroken device can also be modified. This can also be used externally, like the above method, though domain redirects are disallowed in host files, so a static IP is required. For instance, if you have a server which has the IP 192.168.1.5, enter this on a new line: |
+ | |||
+ | 192.168.1.5 guzzoni.apple.com |
||
+ | |||
+ | Make sure there is at least one blank line at the very end of the file, or this will fail. |
||
== References == |
== References == |
||
* {{twitter|stroughtonsmith}} |
* {{twitter|stroughtonsmith}} |
||
* {{twitter|iP1neapple}} |
* {{twitter|iP1neapple}} |
||
+ | * [https://github.com/plamoni/SiriProxy SiriProxy repo] |
||
== See Also == |
== See Also == |
Revision as of 13:09, 9 January 2012
Siri is a voice assistant feature of the iPhone 4S and one of the main selling points for this device, although still in beta. A port to iPhone 4 and late model iPod touch has been completed by Template:Twitter with the help of chpwn, and is available in Cydia as [Spire cydia://package/com.chpwn.spire].
Files
Siri is an integral part of iOS 5 for the iPhone4S. Files include:
- /System/Library/PrivateFrameworks/AssistantServices.framework
- /System/Library/PrivateFrameworks/AssistantUI.framework
- /System/Library/Assistant
- /System/Library/CoreServices/SpringBoard.app/Assistant*
- /System/Library/LaunchDaemons/com.apple.assistant*.plist
- /Applications/Preferences.app/*Assistant.plist
- /usr/bin/assistantd
Although other iOS 5 devices are capable of running Siri, they do not include the above files that are required for it to work.
An additional key in the capabilities section of /System/Library/CoreServices/SpringBoard.app/NxxAP.plist must be added for the device to enable Siri:
<key>assistant</key> <true/>
Installation
The installation of Siri on other devices requires access to the iPhone 4S filesystem, to copy over the files above to a jailbroken device running iOS 5. Then assistant is enabled in the capabilities plist as above, and the device is rebooted.
Holding down the home button for a second should activate the Siri tray at the bottom of the screen, but saying anything will make it say it can't connect. This is due to the device requiring an identifier that the Siri servers generate every 24 hours for 4Ses. SiriProxy can overcome this if you have access to a 4S.
The stock assistant images from the 4S are only available in Retina size. On non-Retina devices (iPad and iPhone 3GS), this means many interface features may look different. The theme Siri Graphics for iPhone 3GS and iPad in Cydia fixes this.
Changing Server
The server that Siri sends its data through can be changed in a number of ways. The most reliable method is to use a DNS server, as demonstrated by plamoni.
An easier approach is to edit the com.apple.assistant.plist file in the device's /var/mobile/Library/Preferences folder. It can be changed either on a jailbroken device with iFile, or via an iPhone backup reading utility. The hostname string simply needs to be replaced with the URL of your SiriProxy (i.e. your computer's IP address). This method could also allow for your SiriProxy to work outside of your Wi-Fi network, if you set up forwarding for port 443 to your computer in your router, and use your external IP address. However, some routers don't do port forwarding inside of their network, so you would need to change this setting yourself when you arrive or leave home. A static IP or dynamic DNS address (such as one from Dyn) is recommended.
The /etc/hosts file on a jailbroken device can also be modified. This can also be used externally, like the above method, though domain redirects are disallowed in host files, so a static IP is required. For instance, if you have a server which has the IP 192.168.1.5, enter this on a new line:
192.168.1.5 guzzoni.apple.com
Make sure there is at least one blank line at the very end of the file, or this will fail.