ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • iPhone 3Gs 에 Siri 설치
    Digital Life/with Mac 2011. 11. 13. 14:30

    미리 알림 >
    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 
Designed by Tistory.