미리 알림 >
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. 시연 영상 링크 : https://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

댓글을 달아주세요

  1. 2011.11.14 01:42
    댓글 주소 수정/삭제 댓글
    아예 Full Porting을 해서 용량이 100mb가 넘는 SiriN1ght나 Th3iriP0rt도 있지만 Siri가 네트워크에 문제가 있다고 말하고 끝... 언제쯤 합법적인 방법이 나와서 배포될지 모르겠네요. 사실 그 전에 Apple이 풀 가능성도 적게나마 있겠지만요.
    • 2011.11.20 22:14 신고
      댓글 주소 수정/삭제
      그러게말입니다. 사실 애플에서 딱히 Siri를 이전 기기에서 지원해줄 이유는 없으니, 가능성은 낮을것으로 보입니다 :(
  2. 마브
    2011.11.18 01:27
    댓글 주소 수정/삭제 댓글
    자꾸 저는 튕기네요
    어떻게 해야 되는지좀 가르쳐 주세요
    • 2011.11.20 22:16 신고
      댓글 주소 수정/삭제
      저도 얼떨결에 성공한 것이라 정확하게 답변드리기는 힘듭니다. 새 폰에 똑같이 따라하셨는지, 파일이 정확하게 들어갔는지 (몇 몇 프로그램은 아이폰으로 다수의 파일을 복사하는과정이 제대로 되지 않았습니다.) 확인해주세요 :)
  3. 아응
    2011.11.28 13:12
    댓글 주소 수정/삭제 댓글
    저는왜 언어에 빈칸이 나올까요 ㅋ 도대체 알수가 없습니다.ㅋ 그냥 작동은 되는데 소리는 또 안나요 ㅋ
    혹시라도 아시면 알려주시고요 ㅋ
  4. 우왕
    2011.11.30 18:32
    댓글 주소 수정/삭제 댓글
    이거... 띠딩 소리는 나는데요 글씨가 아예없어요 그이후에 소리도 안나구요
  5. 황성운
    2011.12.04 22:51
    댓글 주소 수정/삭제 댓글
    이거 아이패드2도 되나요?
  6. kykse
    2011.12.24 18:34
    댓글 주소 수정/삭제 댓글
    설정란 assistantd 열려면 계속 튕기길래 다시 복사한파일들 살펴보니까 AssistantServices.framework 폴더 복사가 잘못 되었더군요.
    근데 요놈 계속 다시 복사를 시켜도 온전한 파일 전송이 안되는것같아요;;...
  7. 2013.01.14 15:25
    댓글 주소 수정/삭제 댓글
    저 아이폰4인데 하는중 ㅋ 되면 말해드림요