미리 알림 >
Siri를 정상적으로 이용하기 위해서는 iPhone 4S에서 사용해야됩니다. 나머지 기기(iPad 2 / iPhone 4 또는 그 이전 기기들)에서는 애플이 지원할 계획이 현재는 없다고 합니다. 기술적으로도 iPhone 4S 기기의 각각 고유 키 같은것이 필요하므로 실제 서버 통신은 불가능합니다. 이 글에서도 Siri 자체가 나타나는 정도까지만 다룹니다. 또한 진행 과정의 일부는 기억에 의존하고 있으므로, 문제가 생길 수 있으니 절대 실 사용 폰에서 진행하지 말고, 반드시 망가져도 상관없는 iOS 기기로 테스트합니다. 직접 따라하는 것/ 그 과정에서의 모든 문제에 대한 책임은 실제 따라하는 여러분에게 있습니다.


사전 지식 > 
- 아이폰 내부 파일 구조에 대한 지식
- 컴퓨터의 파일을 아이폰으로 복사하는 방법 

- 터미널 사용
- Jailbreak 하는 방법
- plist 파일 사용 방법

준비물 >
- 아이폰 3Gs / 4 (내용은 3Gs를 기준으로 진행하지만, 4도 비슷하게 사용 가능합니다.)
- 아이폰의 iOS는 5 (진행은 5.0.1로 진행)
- 탈옥 되어있어야됨
- .plist 파일을 수정할 수 있는 프로그램 (XCode 에서 가능)
- iPhone Explorer 같은 아이폰 파일 탐색 프로그램 (실제 진행과정에서는 귀찮아서 결국 OpenSSH를 설치하여 SFTP 프로토콜로 진행하였습니다.)

- Siri 파일 필요함 : http://www.filesonic.hk/file/2795079565/Siri.zip 
또는
- 수정된 파일 포함 (3Gs용 이미지가 없는것 같아 1/2 사이즈 수정)


방법 >
1. 아이폰 탈옥
이 부분은 생략합니다. 각자 사용하는 기기에 맞추어 탈옥하세요. 참고로 iOS 5.0.1을 사용하면 redsn0w에서 ipsw파일을 직접 지정해야되므로 불편합니다. 가능하면 iOS 5에서 진행하는것이 편리합니다.

2. 파일 복사
해당 파일을 풀면 폴더와 bundle파일들이 나옵니다.
- AssistantServices.framework -> /System/Library/PrivateFrameworks 안에 복사
- AssistantUI.framework -> /System/Library/PrivateFrameworks 안에 복사
- SpringBoard_Assistant_pics 내부의 파일들 모두 -> /System/Library/CoreServices/SpringBoard.app/ 아래에 복사
- Assistant.bundle -> /System/Library/PreferenceBundles 안에 복사
- com.apple.assistantd.plist -> /System/Library/LaunchDaemons 안에 복사
- s5l8940x_factory_cert -> 필요 없는 파일이라고 함.
- 나머지 -> 역시 사용하지 않음

3. 파일 수정
a. 스프링보드에서 시리 활성화
/System/Library/CoreServices/SpringBoard.app/ 아래에 N[숫자][숫자]AP.plist 파일이 있습니다. (기종마다 다름, iPhone 3Gs 기준으로 N88AP) 이 파일에 내용을 추가야됩니다.
- iPhone 4이상 사용자라면 
<key>720p</key><true/> 다음에 <key>assistant</key><true/> 를 추가합니다.
- iPhone 3Gs 사용자라면
N88AP.plist 파일을 열어서 capabilities 라는 Dictionary 하부에 assistant 라는 값을 추가하고 Type은 Boolean, Value는 YES로 줍니다.

직접 사용한 3Gs용 파일 

b. 환경 설정에 Siri(ASSISTANT) 포함
- /Private/var/stash/Applications/Preferences.app/General.plist 파일 수정


* 글자 편집
아래 부분에 <key>label</key> <string>Reset</string></dict> 뒤에 아래 글자 추가

<dict> <key>bundle</key> <string>Assistant</string> <key>cell</key> <string>PSLinkCell</string> <key>isController</key> <true/> <key>label</key> <string>ASSISTANT</string> </dict> 


또는
* plist 편집 
items 항목 아래 새 item 추가
cell / string / PSLinkCell
bundle / string / Assistant
label / string / ASSISTANT
isController / boolean / YES

직접 사용한 3Gs용 파일



c. (이건 이후에 확인 해보고 수정) 계속 통신이 끊긴다면, Siri 서버 https를 http로 변경
- /var/mobile/Library/Preferences/com.apple.assistant.plist 파일에서 https://로 시작되는 서버를 http://로 변경 (어짜피 바꾸나 안바꾸나 안됨.)

4. 재부팅 후 확인


5. 만약 잘 안될 경우 AssistantServices.framework내 assistantd와 assistant_service에 chmod 775 권한을 준다.

6. 시연 영상 링크 : http://www.youtube.com/watch?v=VS6jZrbzExo

 

 

참고 글 >
http://www.simonblog.com/2011/10/30/how-to-install-siri-on-iphone-43gs/ 
http://insanelyi.com/topic/6559-how-to-add-siri-gui-to-iphone-43gs-and-ipod-touch-34-gen/ 
http://modmyi.com/forums/general-iphone-chat/787017-siri-files-extracted-iphone-4s.html 
Posted by Parker Falcon