'분류 전체보기'에 해당되는 글 261건

  1. 해킨토시 USB 부트로더(UniBeast)를 사용했을때는 잘됬는데 하드 부트로더로 했을때 안되는게 있을경우 2
  2. 맥의 숨김 파일을 보여주는 ShowAllFiles 4
  3. 해킨토시(Hackintosh) 메인보드가 GPT 파티션(UEFI)을 지원하지 않는 경우 2
  4. 맥에서 어플 싸인할 시 Eclipse이(가) 예기치 않게 종료되었습니다. 해결방법 1
  5. Mac에서 일반마우스 쓸때 스크롤 문제점
  6. 맥 일반키보드에서 한/영키, 한자키, Ctrl 키 사용하기(키맵핑)
  7. IWannaSleep - 맥에서 예약종료(Shutdown) 하기 2
  8. SleepTime - 맥에서 예약잠자기(Sleep)
  9. Android Shared Preferences(데이터 저장/불러오기) 활용하기
  10. 안드로이드 EditText에 특정(주소,이메일,숫자 등)의 타입 입력받기

UniBeast는 해킨을 쉽게 할 수 있도록 도와주는 프로그램입니다. Mac 리테일을 설치하고 싶을때 아주 유용하게 쓰이죠.

자신이 설치할 Mac 운영체제를 UniBeast를 사용해 넣으면 설치부터 처음 부팅까지 왠만하면 아무 세팅 안해도 부팅이 잘 됩니다.


왜 그럴까요? 애플은 처음에 운영체제를 제작한 당시부터 애플이 만든 컴퓨터가 아니면 맥이 정상적으로 부팅이 되지 않도록 설계했습니다.

애플 이외엔 손을 안 대지 않은 리테일이 설치를 할수 있고 부팅이 가능한것은 UniBeast가 부트로더 역할을 하고 특정 kext를 UniBeast가 강제로 적용시키기 때문입니다.


UniBeast로 부팅할때에는 잘되는데 하드에 있는 부트로더를 사용했을때에는 안되는게 있다면?
 

해킨을 열심히 하며 삽질하다 보면 이걸 느낄때가 있습니다.
UniBeast로 맥을 부팅하면 잘되는데 자신이 설치한 부트로더로 하면 안되는게 있는걸 느낍니다.

(저같은 경우에는 UniBeast를 사용하면 앱스토어가 됬었고, 또다른 어떤 분은 그래픽이 잡혔습니다.)

하지만 항상 USB를 사용해 부팅할 수도 없는 것이고 나중엔 결국 자신의 하드만으로 부팅하는것이 목표입니다.
UniBeast로 만든 USB에는 있는데 자신이 설치한 부트로더의 Extra에는 없는걸 찾는게 중요합니다.

UniBeast하고 다른점 찾기
 

자신이 설치 USB를 만들었던 디스크에 들어갔을때 딸랑 OS X 설치하는 것밖에 없으시는 분도 있으실 것 입니다.


숨김 파일 표시가 활성화가 되어있지 않아서 입니다.
http://jhrun.tistory.com/84 링크를 참고해 숨김파일 표시를 하시고 다시 확인하면
설치 앱 뿐만 아니라 다양한 폴더와 파일이 존재하고 있다는 것을 알 수 있습니다.

 
아까까지만 해도 보이지 않던 파일과 폴더가 보이기 시작합니다.
(숨김 파일 속성의 폴더는 오른쪽 클릭 후 열기를 해야 들어가집니다.)

여기서 Extra가 USB에서의 부팅설정을 당담하는 부분입니다.

자신의 부팅 하드디스크랑 USB랑 Extra 안을 비교해보시면 됩니다.

USB 안의 Extra 폴더입니다.
이제부터 이곳의 설정을 하나하나 뜯어보면서 삽질을 해보는 겁니다.

1. org.chameleon.boot.plist

부팅 하드디스크에도 위와 같은 파일이 있을 것입니다.
부팅 옵션이나 항목이 서로 다른게 있는지 찾아보세요


2. smbios.plist

자신의 기기 정보를 당담합니다.
필요에 따라서 이것도 확인해야 할 필요성이 있습니다.


3. Themes 폴더

USB 부팅할때 나오는 유니비스트 부팅입니다.
별로 확인할 필요 없습니다

4. Extensions 폴더(중요)

제일 중요한 폴더입니다. 여기서 몇몇 드라이버를 로드해주거든요.
만일 여기서 로드한 드라이버는 되는데 S/L/E에서 로드하는건 안되는게 있다면
이 폴더에서 S/L/E로 추출해가거나, 이 Extensions 폴더를 부팅하드디스크/Extra로 넣으시면 효과를 봅니다.


저는 Extensions 폴더를 부팅하드디스크의 Extra에 넣으니 앱스토어가 잘되더군요.


이 글이  누구나 공감할수는 없겠지만 누군가의 삽질을 줄였으면 가치있는 겁니다.



삽질하는 시간을 줄여줬다면
손가락 클릭 !! 
 

때로는 맥의 시스템 파일이나 중요한 파일을 봐야할 때가 있습니다.
윈도우는 폴더 옵션에서 숨김 파일 해제를 하면 된다지만 맥에는 그런 설정이 보이지 않습니다.

ShowAllFiles



이 앱은 숨겨진 맥의 파일을 보여주는 역할을 합니다.
아래 파일을 다운받으신후 실행시키거나 자주 쓸것 같으면 어플리케이션 폴더에 넣어서 사용하실 수도 있습니다.

 


SHOW를 누르면 숨겨진 항목이 보여지고 반대로 HIDE 항목을 숨깁니다.
항상 SHOW로 해놓으면 바탕화면이 지저분해서 필요할때만 SHOW하는게 좋겠다고 생각됩니다.





도움이 되셨나요?
스크롤하는것보다 손가락 누르는게 더쉽습니다. 

 

어떤 사람은 일반 PC에다가 Mac OS를 설치하곤 합니다. 여러가지 사양과 성능이 맞아야 쉽게 설치할 수 있는데요. 저같은 경우는 메인보드가 GPT파티션(UEFI)를 지원하지 않아 부트 옵션에 나타나지 않았습니다.

부팅 옵션의 예(ex)

부팅 옵션의 예(ex)

 그래서 부팅이 불가능한데요. 처음에는 하드디스크 문제인줄 알았다가 MBR(마스터 부트 레코드)로 해보니 잘 되는 것입니다.

하지만 맥은 GPT파티션밖에 지원을 하지 않죠. MBR 파티션으로 설치되지 않았습니다.
(iATKOS나 Niresh같은 배포판은 이미 패치가 되어있기때문에 제외)

MBR 파티션에도 설치 가능하게 하기
 
이미 iATKOS나 Niresh 같은 유명한 배포판은 이 패치가 되어있기 때문에 따로 작업을 해주지 않아도 MBR 파티션을 지정하고 바로 설치할 수 있습니다.



하지만 사용자가 직접 넣는 UniBeast로 리테일로 하는 경우에는 설치가 되지 않습니다.
MBR 파티션에도 설치할 수 있게 패치를 해주어야 합니다.

아래 버전별로 맞는 파일을 다운받아 주세요.
(산사자밖에 없습니다. 라이언도 검색하면 쉽게 찾을 수 있습니다.)


(출처 : 
http://www.osx86.net/downloads.php?do=file&id=2815)


다운로드 받으신 파일중에서 OSInstall과 OSInstall.mpkg가 있어야 합니다.

OSInstall.mpkg 파일을
설치 디스크/System/Installation/Packages/OSInstall.mpkg에 덮어쓰기합니다.

OSInstall 파일을
설치 디스크/System/Library/PrivateFrameworks/Install.framework/Frameworks/OSInstall.framework/Versions/A/에 있는 OSInstall이라는 파일에 덮어쓰기합니다.



재부팅 후 이 작업을 한 파티션에 부팅하면 MBR에 잘 설치되는 것을 보실 수 있습니다.




이 글이 도움이 됬다면 손가락을 눌러 주세요^^ 
이클립스는 자바 기반 앱이나 프로그램을 짤때 도움을 주는 도구입니다.
저같은 경우에는 안드로이드 개발을 주로 하는데요.  개발이 끝나고 싸인을 할때, 오류가 나서 적잖히 당황했었습니다.
 



오류 내용

Process:         eclipse [451]
Path:            /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse
Identifier:      org.eclipse.eclipse
Version:         3.8 (3.8)
Code Type:       X86-64 (Native)
Parent Process:  launchd [259]
User ID:         501

Date/Time:       2013-01-04 09:22:39.887 +0900
OS Version:      Mac OS X 10.8.2 (12C60)
Report Version:  10

Interval Since Last Report:          15972 sec
Crashes Since Last Report:           3
Per-App Interval Since Last Report:  14480 sec
Per-App Crashes Since Last Report:   3
Anonymous UUID:                      39046084-6511-E487-E6D6-747FB273A8D0

Crashed Thread:  72  Java: ModalContext

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: 0x000000000000000a, 0x000000011163d170

VM Regions Near 0x11163d170:
    CG image               000000011162e000-000000011163b000 [   52K] rw-/rwx SM=COW  
--> mapped file            000000011163b000-0000000111642000 [   28K] r--/r-x SM=PRV  /Volumes/VOLUME/*/*.jar
    VM_ALLOCATE            0000000111642000-0000000111643000 [    4K] rw-/rwx SM=COW  

Application Specific Information:
Java information:
 Exception type: Bus Error (0xa) at pc=1007d06f7
 
 Java VM: Java HotSpot(TM) 64-Bit Server VM (20.12-b01-434 mixed mode macosx-amd64)
... 



해결방법
열심히 구글링을 통해 해결방법을 찾았습니다.

1. 이클립스에 상단부분 메뉴에 Project를 눌러줍니다.

 
 
2. "Build Automatically"를 체크 해제합니다.


 이렇게 하시면 오류는 나지 않으나 빌드는 자동으로 되지 않습니다.
솔직히 빌드는 자동으로할 필요가 없습니다. Run Application하면 빌드가 되니까요.





이 포스팅이 해결하는데 도움이 되었으면
손가락을 눌러주세요 :) 
맥의 트랙패드나 애플마우스가 적응되지 않거나 다른 사정으로 인해 일반 마우스를 쓸 때가 있을 것입니다.
근데 마우스에서 스크롤을 할려고 하는데 내가 알고 있던 스크롤과 반대입니다.

윈도우와 달라서 햇갈리거나 적응이 되지 않으실 수 있습니다.
맥에서 일반마우스 스크롤 방향을 바꿀 수 있습니다.

맥에서 마우스 스크롤 방향 바꾸기

1. 시스템 환경설정 앱을 찾습니다.

2. 마우스를 누릅니다.

3. "스크롤 방향 : 자연스럽게"를 체크 해제합니다.
(자연스럽게라는 말이 이상하네요 단어 선택을 잘못한듯 합니다.)

  

도움이 되었으면 손가락을 눌러주세요 :)..:) 
우리가 쓰는 일반 PC와는 달리 맥에는 따로 애플키보드가 있습니다.
하지만 해킨토시를 쓰거나 맥에 일반키보드를 써야하는 경우가 있을 수 있습니다.
하지만 한영키 한자및 컨트롤키가 잘 먹히지 않아서 불편할 수도 있습니다. 

맥에서의 일반키보드 기본설정
 
일반키보드에서의 컨트롤키 ==> 윈도우키
일반키보드에서의  한/영 전환 키 ==> 윈도우키 + 스페이스

위와 같이 하는게 불편하시다면 바꿀 수 있습니다. 

키를 바꾸기 - 키맵핑하기(윈도우처럼)
 
키맵핑을 함으로써 자신이 원하는 키가 각자 역할을 할 수 있도록 지정할수 있습니다.
이때 사용하는 프로그램이 "KeyRemap4MacBook"입니다.

공식사이트에서 다운로드 : 
http://pqrs.org/macosx/keyremap4macbook/
(버전에 맞게 선택해주시면 됩니다.) 

 재시동 후 설치가 완료되면 시스템 환경설정 기타 부분에 저렇게 keyremap4MacBook이라는 아이템이 생성됩니다.
(키맵핑 설정을 조작할때에는 저곳을 들어가주시면 됩니다.) 

 1.   왼쪽 컨트롤 버튼 사용하기.
 




2. 오른쪽 컨트롤 버튼 사용하기




3. 한자/한영키 사용하기

 --Toggle HanEng Key를 체크해주면 한영키는 사용 가능하나 권장하지 않습니다.
왜냐하면 한영키 체크시 한영키를 누르면 한영이 바뀌나, Command+Space를 하는것과 같기 때문에
한영키를 다른 키와 연속으로 입력하면 단축기가 실행되는 버그가 있습니다.
(환경설정 - 키보드 - 이전 입력 소스 선택에서 커맨드 + 스페이스로 되어있어야 합니다.)



따라서 한영키는 시스템 환경설정 --> 키보드 --> 단축기 탭에서 -->이전 입력 소스 선택을 클릭 --> Tap키를 눌러서
다른 키로 지정해주시고 적응하시는것을 권장합니다. 저는 어차피 안쓰는 프린트스크린을 한영키로 사용합니다.
(맥에선 F13으로 인식합니다.)  

 
(맥에서 캡쳐하는 방법은 따로 있습니다. 아래 링크를 참고하세요
http://jhrun.tistory.com/70
)

2013/01/02 - 포스트 컨트롤키 바꾸는것 잘못되서 수정하였습니다.
 
이 방법데로 하시면 그나마 맥에서 일반키보드가 쓸만해집니다.
도움이 되셨으면 손가락을 눌러주세요 :) 
윈도우에서는 윈도우 전용 예약종료 프로그램을 쓰거나 Shutdown 명령어를 사용했었습니다.
맥에서는 iWannaSleep을 사용하여 예약종료를 주문할 수 있습니다.

iWannaSleep

 


iWannaSleep이라는 어플리케이션입니다. 바로 전 포스팅에서 소개드린 SleepTime보다 더 기능이 탁월합니다.
Shutdown Computer 말고도 잠자기, 아이튠즈 음악 종료, 애플 스크립트 실행등이 있습니다.
저 기어 모양같은걸 조정해 시간을 조절할 수 있습니다. 


다운로드 링크입니다.
http://www.sb-software.de/files/iWannaSleep1.2b.dmg
공식사이트입니다. 
http://www.sb-software.de/


-2012.01.02 링크 깨져있어서 수정-
 

SleepTime



앱스토어에서 겁색하시면 쉽게 다운로드 받으실 수 있습니다.
앱 실행후 아래 사진처럼 상단 표시줄에서 설정할 수 있습니다.


https://itunes.apple.com/kr/app/sleeptime/id465772885?mt=12
다운로드 링크입니다. 


데이타를 일시적으로는 가지고 있을 수 있지만 영원히 저장하는 방법은 무었일까요? Shared Preferences 를 사용하면 가능합니다.
이 방법을 이용해서 환경설정을 만들 수도 있습니다.
           

설정 저장

            //값보관
             SharedPreferences pref =getSharedPreferences("test", MODE_PRIVATE);
             SharedPreferences.Editor editor = pref.edit();
             editor.putString("SET_1","1" ); //키값, 저장값
             editor.putString("SET_2","2" );
             editor.putString("SET_3","3" );
             editor.commit();
     
설정 불러오기
 

              //값읽기
              SharedPreferences prefs =getSharedPreferences("test", MODE_PRIVATE);
              String result = prefs.getString("SET_1", "0"); //키값, 디폴트값
                
                
              //키값없이 모든 저장값 가져오기
             SharedPreferences prefb =getSharedPreferences("test", MODE_PRIVATE);
             Collection<?> col =  prefb.getAll().values();
             Iterator<?> it = col.iterator();
                
              while(it.hasNext())
              {
                    String msg = (String)it.next();
                    Log.d("Result", msg);
              }





손가락을 누르는것보다 어려운게 있나요 :)
도움이 되셨으면 눌러주세요  :)



안드로이드 레이아웃은 xml로 작성합니다. UI를 xml로 구성하는 것입니다. 자신이 EditText에 입력받고 싶은 특정 값이 있을 겁니다. 그 값이 숫자이면 숫자만 있는 키보드를 호출해야 하고, 이메일이면 키보드에 @를 쉽게 칠 수 있게 하는게 사소한 배려겠죠.


EditText 속성


자신이 입력받고 싶은 것을 쉽게 입력할수 있게 EditText에 속성을 넣어줄 수 있습니다. 

    <EditText

        android:id="@+id/editText1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignLeft="@+id/textView1"

        android:layout_below="@+id/textView1"

        android:layout_marginTop="40dp"

        android:ems="10" >

 
 소스는 대충 위처럼 생겼을 것입니다. 필요에 따라서 저 줄이 늘어나기도 아니면 줄어들기도 하죠. 자신이 원하는 editText에다. 아래 코드를 추가해보세요.

      android:inputType="자신이 원하는 타입" 

android:inputType= 은 입력할 타입을 지정하는 것입니다. 위 코드 자신이 원하는 타입이라는 문자를 지우고 자신이 원하는 타입을 아래 설명을 참고하여 넣으시면 되겠습니다.

android:inputType

The type of data being placed in a text field, used to help an input method decide how to let the user enter text. The constants here correspond to those defined by InputType. Generally you can select a single value, though some can be combined together as indicated. Setting this attribute to anything besides none also implies that the text is editable.

Must be one or more (separated by '|') of the following constant values.

ConstantValueDescription
none 0x00000000 There is no content type. The text is not editable.
text 0x00000001 Just plain old text. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_NORMAL.
textCapCharacters 0x00001001 Can be combined with text and its variations to request capitalization of all characters. Corresponds to TYPE_TEXT_FLAG_CAP_CHARACTERS.
textCapWords 0x00002001 Can be combined with text and its variations to request capitalization of the first character of every word. Corresponds to TYPE_TEXT_FLAG_CAP_WORDS.
textCapSentences 0x00004001 Can be combined with text and its variations to request capitalization of the first character of every sentence. Corresponds to TYPE_TEXT_FLAG_CAP_SENTENCES.
textAutoCorrect 0x00008001 Can be combined with text and its variations to request auto-correction of text being input. Corresponds to TYPE_TEXT_FLAG_AUTO_CORRECT.
textAutoComplete 0x00010001 Can be combined with text and its variations to specify that this field will be doing its own auto-completion and talking with the input method appropriately. Corresponds toTYPE_TEXT_FLAG_AUTO_COMPLETE.
textMultiLine 0x00020001 Can be combined with text and its variations to allow multiple lines of text in the field. If this flag is not set, the text field will be constrained to a single line. Corresponds toTYPE_TEXT_FLAG_MULTI_LINE.
textImeMultiLine 0x00040001 Can be combined with text and its variations to indicate that though the regular text view should not be multiple lines, the IME should provide multiple lines if it can. Corresponds to TYPE_TEXT_FLAG_IME_MULTI_LINE.
textNoSuggestions 0x00080001 Can be combined with text and its variations to indicate that the IME should not show any dictionary-based word suggestions. Corresponds toTYPE_TEXT_FLAG_NO_SUGGESTIONS.
textUri 0x00000011 Text that will be used as a URI. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_URI.
textEmailAddress 0x00000021 Text that will be used as an e-mail address. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_EMAIL_ADDRESS.
textEmailSubject 0x00000031 Text that is being supplied as the subject of an e-mail. Corresponds toTYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_EMAIL_SUBJECT.
textShortMessage 0x00000041 Text that is the content of a short message. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_SHORT_MESSAGE.
textLongMessage 0x00000051 Text that is the content of a long message. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_LONG_MESSAGE.
textPersonName 0x00000061 Text that is the name of a person. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_PERSON_NAME.
textPostalAddress 0x00000071 Text that is being supplied as a postal mailing address. Corresponds toTYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_POSTAL_ADDRESS.
textPassword 0x00000081 Text that is a password. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_PASSWORD.
textVisiblePassword 0x00000091 Text that is a password that should be visible. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_VISIBLE_PASSWORD.
textWebEditText 0x000000a1 Text that is being supplied as text in a web form. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_WEB_EDIT_TEXT.
textFilter 0x000000b1 Text that is filtering some other data. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_FILTER.
textPhonetic 0x000000c1 Text that is for phonetic pronunciation, such as a phonetic name field in a contact entry. Corresponds to TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PHONETIC.
textWebEmailAddress 0x000000d1 Text that will be used as an e-mail address on a web form. Corresponds toTYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS.
textWebPassword 0x000000e1 Text that will be used as a password on a web form. Corresponds toTYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_PASSWORD.
number 0x00000002 A numeric only field. Corresponds to TYPE_CLASS_NUMBER |TYPE_NUMBER_VARIATION_NORMAL.
numberSigned 0x00001002 Can be combined with number and its other options to allow a signed number. Corresponds to TYPE_CLASS_NUMBER | TYPE_NUMBER_FLAG_SIGNED.
numberDecimal 0x00002002 Can be combined with number and its other options to allow a decimal (fractional) number. Corresponds to TYPE_CLASS_NUMBER | TYPE_NUMBER_FLAG_DECIMAL.
numberPassword 0x00000012 A numeric password field. Corresponds to TYPE_CLASS_NUMBER |TYPE_NUMBER_VARIATION_PASSWORD.
phone 0x00000003 For entering a phone number. Corresponds to TYPE_CLASS_PHONE.
datetime 0x00000004 For entering a date and time. Corresponds to TYPE_CLASS_DATETIME |TYPE_DATETIME_VARIATION_NORMAL.
date 0x00000014 For entering a date. Corresponds to TYPE_CLASS_DATETIME |TYPE_DATETIME_VARIATION_DATE.
time 0x00000024 For entering a time. Corresponds to TYPE_CLASS_DATETIME |TYPE_DATETIME_VARIATION_TIME.

This corresponds to the global attribute resource symbol inputType.

Related Methods
 예를 들면 자신은 숫자 문자열을 원한다. 하면 number를 넣으면 됩니다.


 
이글이 도움이 되었다면 손가락을 눌러주세요. :)