我也提前警告过您,这非常困难,几乎所有操作都在命令行上完成,尽管我尝试按照对我有用的确切方式逐步将其分解,但您可能需要并在出现错误时自行向Google提出。
要求
准备
从MacPorts.org下载适用于OS X版本的pkg安装程序。 MacPorts 使我们能够安装已移植到Mac的各种UNIX实用程序。您还需要安装XCode,可以从Mac App Store免费下载XCode,但下载量很大,因此,请立即开始。
MacPorts向系统中添加了一些新的路径条目,但没有更新不正确。为避免以后出现 port命令未找到错误,请运行
source .profile
这时,您还需要从应用程序商店安装XCode。安装后,运行以下命令来告诉您的系统编译器在哪里:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
下一步,安装DNSMasq;一个简单的DNS转发器,让我们拦截对某个IP的请求。
sudo port install dnsmasq
安装Ruby和RVM
使用以下命令下载并安装RVM软件包管理器:
bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
然后运行它以将其正确添加到您的系统中:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
使用以下命令安装Ruby;在撰写本文时,它将使用最新版本1.9.3,建议您执行相同操作,否则本指南的其余部分可能无法正常工作。
rvm install 1.9.3
如果您收到一堆随机红色包含错误的文本,请改为运行以下命令:
rvm install 1.9.3 –with-gcc=clang
然后执行
rvm use 1.9.3 default
以设置默认的ruby环境版本。祝贺您,现在您的系统上已经安装了Ruby!
开始下载SiriProxy
开始使用Git将SiriProxy项目克隆到您的计算机上。
git clone git://github.com/plamoni/SiriProxy.git
cd /SiriProxy
第一次这样做,您可能会收到有关检测到的脚本文件的安全警告。继续并信任它,如果您已经从github来源下载了。
下一步,我们将复制配置文件。
mkdir ~/.siriproxy
cp ./config.example.yml ~/.siriproxy/config.yml
使用您的最喜欢的文本编辑器,然后将文件顶部的IP从0.0.0.0更改为Mac的本地IP。继续:
rvmsudo gem install rake bundler
rvmsudo rake install
这应该为您安装了SiriProxy,但稍后我们将需要重复此操作以解决错误。现在,让我们继续并制作一些证书。
我们需要首先安装OpenSSL。
sudo port install openssl
我第一次运行此证书时,它失败了,并出现了许多zlib错误。要解决这个问题,我需要运行
sudo port -f activate zlib
下一步,我们将生成证书:
siriproxy gencerts
如果一切顺利,您应该会看到类似的消息。
使用 Finder->转到文件夹菜单选项,输入输出中列出的路径;您应该在那里找到 ca.pem 文件。通过电子邮件将其发送给自己,然后在支持Siri的设备上将其打开。这将跳至设置,并为您提供将其安装为新证书的选项。不会,您的第一次会说它是不受信任(红色) –安装后我抓取了此屏幕截图,因此显示为受信任。
回到Mac上,运行以下命令来更新所需的一些随机文件。
bundle install
设置DNS转发
最后一步是使您的Mac进入DNS服务器,该DNS服务器可以拦截对Apple服务器的呼叫,并通过SiriProxy路由它们。同样,使用Finder->转到文件夹,打开/ opt / local / etc,然后编辑dnsmsq.conf。添加以下行,用您的Mac的本地IP地址替换192.168.0.6。
address=/guzzoni.apple.com/192.168.0.6
要激活DNSMasq服务,请运行以下命令。您需要在每次重新启动时执行此操作(以及稍后将介绍的启动SiriProxy)。
sudo /opt/local/sbin/dnsmasq
在iPad或iPhone上,打开网络设置并将WiFi的DNS服务器更改为您的Mac IP地址。是的,SiriProxy仅能在您的家庭WiFi上运行,但是如果您希望在外出时使用它,则理论上可以将VPN接入家庭路由器。我们今天不讨论这个问题。
我还需要在路由器上设置新的端口转发规则;端口53应该转发到您的Mac IP。 (这是DNS使用的端口)。
启动SiriProxy
最后一步是启动SiriProxy服务器并进行测试。使用以下方法执行此操作:
export rvmsudo_secure_path=1
如果此时,按下主屏幕按钮时,屏幕上出现诸如“无效符号"之类的错误,请继续进行此操作。由于SiriProxy软件包随附了较旧的CFPropertyList版本,因此出现错误。希望此问题将很快得到解决,因此您可能不需要它,以防万一……
像这样下载最新版本的CFPropertyList:
sudo gem install CFPropertyList -v 2.1.2
现在,使用F 进入“〜/ .rvm / gems / "文件夹。在最新的Ruby中导航-在我的情况下为 ruby-1.9.3-p385 / ,然后将 gems / CFPropertyList-2.1.2 / lib 文件夹复制到 ruby -1.9.3-p385@SiriProxy/gems/CFPropertyList 2.2.0 。是的,用较新版本中的lib验证并覆盖较旧版本lib ;骇人的骇客,但我才能让它运作的唯一方法。最后所需的解决方法是手动编辑 gemspec 文件。为此,请转到SiriProxy目录,然后打开 siriproxy.gemspec 。通过使用VI或Nano的命令行从命令行执行以下操作:
sudo vi siriproxy.gemspec
,或者仅使用文本编辑器。用以下内容替换包含“ CFPropertyList" 的从底部开始大约4行的行:
s.add_runtime_dependency('CFPropertyList', '2.1.2')
现在运行
rvmsudo siriproxy update
世界。再次启动服务器并重新测试。
rvmsudo siriproxy server
通过要求Siri“测试siri代理"对其进行测试,您应该得到一个响应,表明它已启动并正在运行。
下一次,我们将看一些可以运行并实际开始使用此东西的SiriProxy插件。
说实话,整个过程这个过程比我希望的要复杂得多,但是我希望本指南对您中的某些人有用,因为从字面上看,我花了整整一天的时间才做对。您对我应该检查的SiriProxy插件有什么建议吗?这个程序对您有用吗?在评论中让我们知道,我会尽力帮助您,但项目GitHub页面上充斥着知识渊博的人。
标签: OS X Mountain Lion Siri 语音识别