[일상 이야기]아이폰 3GS 화이트 하우징과 필름 부착기[일상 이야기]아이폰 3GS 화이트 하우징과 필름 부착기

Posted at 2012. 3. 27. 06:00 | Posted in 일상 이야기
안녕하세요..

그동안 컴퓨터 키면 뭐한다.. 뭐한다 이래저래 할게 많아서 제대로된 포스팅을 못하였습니다.. (사실 글을 쓸 수는 있지만 공들여서 쓰지 않으면 의미가 없을 것 같아서..)

오늘도 아이폰 관련해서 일상 이야기를 해보려고 합니다.
약 1년 전쯤에 아이폰 3GS를 물에 빠트려서 화이트로 하우징 한 적이 있습니다.. 

2011/04/22 - [일상 이야기] - 화이트 아이폰 3GS 사진!


저때는 스킬도 많이 미숙하고.. 폰을 분해해서 직접 커버를 바꾸는것도 처음이라 유격이 생기기도 하고.. 보다시피 카메라가 작동되지 않기도 하였고.. 나중에 보드에 문제가 생겨버려서 3GS를 중고로 새로 구매해서 사용하고 있었는데..
이번에 아이폰 4로 바꾼 기념으로 3GS를 새로 하우징하기로 하고 주말에 시간을 내서 작업을 하였습니다.

쓰지도 않을 폰 돈들여서 하우징 하는건 돈 낭비이긴 하지만.. 3GS는 나름 정이 있던 폰이기도 하고 화이트 세트로 소장하고 싶어서 싼 가격에 부품을 구해 하우징을 하였습니다.



지난번 사진과 크게 다른 점은 없습니다..
홈버튼 색상이 상판과 조금 비슷해지고(전의 하우징은 완전 다른 색이었습니다.) 필름을 좀더 고급형으로 붙여서 투명도가 좀더 높아진 것 같습니다.

 


후면입니다.
3GS의 경우 뒷면이 곡선이라 예전에는 필름도 깔끔하게 못붙였는데, 이것도 자주 하다보니 기포나 먼지하나 없이 잘 붙여진것 같습니다. 엠보싱 처리가 된 필름이라 반들반들하고 느낌도 좋군요 ^^


기존의 블랙 부품입니다.
상판은 흠집하나 없이 상태가 좋아서 나중에 예비 부품으로도 사용이 가능할 것 같습니다. 하판은 분해하다가 본드때문에 부러진 부분도 있고.. 상태가 그닥 좋지 않네요..

 
제가 사용하고 있는 레볼루션 쉴드 필름입니다. 아이폰4에도 이걸 사용하는데 구성도 푸짐하고 제품 교환 서비스도 시행하고 있어서 추후 리퍼등을 받을때나 부착 실수를 해도 소정의 비용을 내고 교환이 가능합니다.
또 필름 재질도 루마 원단을 사용하여 내구성도 좋은 것 같습니다.

 
제품 구성중에 코팅 솔루션이라는게 있는데 필름에 발라주면 지문 방지도 되고 황변현상도 막아준다고 합니다. 개인적으로 이게 정말 마음에 들더군요 ^^;


iOS 5부터 아이튠즈가 없이 설정이 가능해졌는데 심카드가 없으면 제품 자체를 사용할 수가 없더군요..

복원해놓고선 제 심카드는 마이크로유심으로 잘라버려서 넣을 수도 없고.. 다른 심카드가 없어서 활성화도 못하고 있다가 아는 분 유심을 잠깐 빌려 활성화만 해두었습니다.

물론 탈옥을 하면 심카드가 없어도 활성화가 되긴 하지만 iOS 5에 추가된 기능이 편해지니 탈옥의 필요성도 못느끼고 배터리 등의 문제로 더 불편하더군요..

그래도 배터리만 뺴면 아직 3GS는 쌩쌩한 현역인것 같습니다 ^^

//

[iOS]홈화면에 원하는 아이콘으로 북마크 만들기![iOS]홈화면에 원하는 아이콘으로 북마크 만들기!

Posted at 2012. 3. 22. 06:00 | Posted in 유용한 팁/정보/스마트시대
휴.. 안녕하세요~
근 이틀간 블로그를 놓고 있었습니다..

오늘 알려드릴 팁은 순정 아이폰 사용자들에게 유용한 팁인데..
홈화면에 원하는 북마크를 만드는데 원하는 아이콘으로 만드는 법에 대해 알아보겠습니다.

탈옥 아이폰이라면 쉽게 만들 수 있겠지만.. 순정에서는 약간의 편법을 사용하여야 합니다.

iOS 스타일의 아이콘 만들기

자.. 그럼 일단 아이콘을 만들어봅시다.

아이콘은 [아이폰 아이콘 생성기] 로 쉽게 만들 수 있는데 그림 파일을 올리고 스타일을 선택하기만 하면 자동으로 만들어줍니다.



UPLOAD를 누르고 이미지를 선택합니다.
사이즈는 제한 없으며 정사각형이 좋습니다.(256x256 등..)


아이콘 스타일, 크기 등의 세부적인 설정을 하고 CONTINUE 버튼을 누릅니다.

 


그 다음 Click here to download the icon 버튼을 눌러 생성된 아이콘을 다운로드 받습니다.

스크립트 작성하기 

이제 스크립트를 작성할 차례입니다.

우선 방금 생성한 아이콘을 블로그 등의 웹페이지에 업로드합니다.
그 다음 아래의 스크립트를 작성하면 되는데..

data:text/html;charset=US-ASCII,<html><head><title>북마크 이름</title><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" href="아이콘 경로"/><script type="text/javascript">document.location.replace("페이지 경로");</script></head><body>북마크 이름</body></html>

북마크 이름 부분에는 사이트 제목을 넣어주시고 아이콘 경로 부분에는 업로드한 아이콘 이미지 파일의 경로를 넣어주시고 페이지 경로에는 추가하기 원하는 페이지의 경로를 입력합시다.

만약 아이콘 생성시에 이미 효과를 넣어줘서 기본 반사광 효과를 넣지 않으려면 apple-touch-icon 라고 되어 있는 부분을 apple-touch-icon-precomposed로 해주시면 됩니다.

저는 예를 들어 이렇게 작성하였습니다. 

data:text/html;charset=US-ASCII,<html><head><title>MG Note</title><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" href="http://mgaver.co.kr/icon.png"/><script type="text/javascript">document.location.replace("http://blog.mgaver.co.kr");</script></head><body>MG Note</body></html>  

작성이 완료 되었다면 아이폰에서 입력하기 위해 메일 등으로 위 스크립트를 보냅니다.


iOS 기기에 추가하기



이제 아이폰의 사파리를 통해 메일로 들어가서 위의 스크립트를 복사 해둡니다.


다음  아이폰에서 설정 -> Safari로 들어갑니다.
그 다음 JavaScript라고 되어있는 부분을 OFF로 해줍니다.


완료되었다면 이제 아까 복사한 스크립트를 사파리 주소창에 입력합니다.


다음 홈 화면에 추가를 누릅니다.


왼쪽에 아까 제작한 아이콘이 나타나는걸 확인하실 수 있습니다.
추가를 누릅니다.


아이콘이 홈 화면에 추가되었습니다!
이제 다시 설정에서 Safari로 들어가서 자바스크립트를 켜주시고 생성된 아이콘을 눌러보시면 원하는 페이지로 이동하는걸 확인하실 수 있습니다. 
//

[유틸리티]PC에서 유선 네트워크로 핫스팟 만들기![유틸리티]PC에서 유선 네트워크로 핫스팟 만들기!

Posted at 2012. 3. 19. 06:00 | Posted in 유용한 팁/정보/컴퓨터

유선 네트워크는 있는데 무선이 없을때 또는 무선 공유기가 멀리 떨어져 있어서 신호가 약해서 인터넷이 느린 경우가 있습니다..

이럴 때 PC에 유선 랜 포트무선 랜카드가 같이 장착되어 있다면 인터넷 공유를 할 수 있습니다.

무선 랜카드가 없는 PC에서는 이용 불가능한 기능입니다.

그럼 유선 인터넷을 무선으로 공유하는 방법을 알려드리겠습니다.



윈도우 7의 ICS 기능 이용


윈도우 7에는 ICS 라는 기능이 탑재되어 있습니다.
이 ICS는 안드로이드 아이스크림 샌드위치가 아니라.. Internet Connection Sharing 즉 인터넷 연결 공유의 약자인데.. 이 기능을 사용하면 무선 네트워크를 쉽게 공유할 수 있습니다.

그럼 방법에 대해 알아보겠습니다.

우선 시작에서 services.msc를 입력해서 서비스 창에 들어간 뒤 아래의 서비스들이 작동중인지 확인해야합니다.



Application Layer Gateway Service
Network Connections
Network Location Awareness (NLA)
Plug And Play
Remote Access Auto Connection Manager
Remote Access Connection Manager
Remote Procedure Call (RPC)
Telephony
Windows Firewall



이중에서 Plug And Play와 Remote Procedure Call은 절대 끌 수 없는 서비스이고..
나머지 서비스들이 작동중인지 확인하시고 작동중이 아니라면 서비스를 시작하거나 시작 유형을 자동으로 모두 바꾸고 재부팅합니다,
만약 시작 유형을 자동으로 바꾸지 않으면 재부팅 한 뒤에는 다시 작동하지 않게 되므로 재부팅 후에도 계속 사용하실 분들은 꼭 자동으로 바꿔주세요..

모두 변경 완료했다면 이제 제어판에서 네트워크 및 공유 센터로 들어갑니다.
그 다음 왼쪽의 어댑터 설정 변경을 누르고 연결되어 있는 유선 인터넷에서 오른쪽 버튼을 눌러 속성을 눌러 창이 뜨면 공유탭으로 이동합니다.

그 다음 "다른 네트워크 사용자가 이 컴퓨터의 인터넷 연결을 통해 연결할 수 있도록 허용" 에 체크를 하고 확인을 누릅니다.

완료되었다면 이제 핫스팟을 만들 차례입니다.

다시 네트워크 및 공유 센터로 들어가서 왼쪽의 무선 네트워크 관리를 누르고 추가 버튼을 누릅니다.

두가지 메뉴 중에 애드혹 네트워크 만들기를 누르고 다음을 누른 뒤 네트워크 이름에는 원하는 이름을 넣고 보안 종류를 선택하고 보안 키를 입력합니다.
보안 종류에는 WEP, WPA2-개인, 인증 안 함 이렇게 세가지가 있는데 WPA2-개인이 가장 강력한 암호화입니다.
하지만 이 WPA2-개인을 선택할 경우 아이폰에서는 이 방식이 지원되지 않기 때문에 접속이 불가능합니다.
WEP는 암호화를 하긴 하지만 해킹될 가능성이 있고 암호도 5자리 또는 13자리만 입력이 가능합니다. 인증 안함 모드는 암호를 입력하지 않고 접속하는 방법으로 다른 사용자가 사용할 가능성이 높습니다.

만약 다른 옵션을 사용하고 싶으면 다른 프로그램을 사용해야 하는데 아래에서 소개하겠습니다.

이 네트워크를 재부팅 한 뒤에도 활성화되게 하려면 네트워크 저장에 체크하고 다음을 누릅니다. 그럼 핫스팟이 생성되고 이제 기기에서 접속하시면 됩니다.

추가 프로그램 이용하기 

추가 프로그램을 이용하면 위처럼 하지 않고 쉽게 핫스팟을 만들 수 있는데 대표적인 프로그램으로 Connectify 라는 프로그램이 있습니다.


이 Connectify 프로그램을 이용하면 쉽게 핫스팟을 만들 수 있을 뿐더러 WPA2 암호화를 이용해도 아이폰에서 접속이 가능하며 누가 접속했는지 목록을 얻어오거나 차단할 수 있습니다.

Connectify는 http://www.connectify.me/ 에서 무료로 받으실 수 있으며 Pro 버전은 유료지만 더 다양한 기능을 제공합니다.

사용 방법은 다운로드 해서 설치하고 프로그램 지시에 따르면 쉽게 이용 가능합니다. 

'유용한 팁/정보 > 컴퓨터' 카테고리의 다른 글

[PC]외장하드.. 어떤 제품이 좋을까?  (18) 2012.03.10
//

[개인적인 잡담]iCloud 버그 때문에 고생하고 있습니다..[개인적인 잡담]iCloud 버그 때문에 고생하고 있습니다..

Posted at 2012. 3. 18. 06:00 | Posted in 일상 이야기
안녕하세요.. 오늘은 새벽부터 애플 iCloud의 황당한 버그 때문에 고생중입니다..

목요일에 받은 아이폰 4에 데이터를 모두 옮기기 위해 아이폰 3GS를 iCloud에 통채로 백업한 뒤 아이폰 4에서 iCloud 복원을 하였고 어제까지 잘 사용하고 있었습니다.


아이폰 4의 가장 큰 결함인 안테나 게이트(일명 데스그립) 문제가 있었으나 그저께 구매한 필름과 범퍼가 오늘 도착해서 필름을 붙이고 범퍼도 장착하였습니다.

정말 모든 셋팅이 끝났구나 생각한 찰나 보고 싶은 사진이 있어서 사진 앱으로 들어간 순간...
어..? 1100장이 넘는 사진중에 사진이 100 여장밖에 남아있질 않는겁니다.. -_-;
설마 설마해서 i-FunBox로 아이폰 DCIM 폴더를 보니 정말 100장 정도밖에 남아있지 않았습니다..

하도 황당해서 애플 고객센터에 전화해보았는데 계속 사진 스트림 얘기만 하길래 제가 iCloud는 카메라 롤 백업이 된다고 설명을 해주고 나서. 알아보더니 재복원을 하고 안되면 다시 연락을 달라고 합니다.

아... 결국 다시 복원하는 수 밖에 없는건가 하면서 재복원에 들어갔습니다.
iCloud 서버 접속 속도가 느려서 엄청 오래걸리고 어플들도 전부 다시 받아야되서.. 상당히 오래걸리는데 이 작업을 또 해야한다는게 참...

그리고 간신히 재복원을 하고 어플 설치 멈추는거 참고 참고 해서 결국 전부 재설치를 하였습니다. 그리고 다시 카메라 롤로 들어가는 순간..


이건 정말 뭘까요.. -_-;

사진처럼 이번엔 섬네일이 나타나지 않는 문제가 생겨버렸습니다...

아.. 일요일이라 고객센터 통화도 못하는데.. 토요일부터 시간은 시간대로 낭비하고..
앞으로 한동안 iCloud 말고 iTunes로 백업/복원하는게 더 나을 것 같습니다..

후.. 오늘은 기분좀 풀라고 주절 주절 써봤습니다...
여러분은 저처럼 시간 날리지 마시고 주말 행복하게 보내세요...
//

[스마트기기]배터리가 부족하다면 휴대용 배터리를![스마트기기]배터리가 부족하다면 휴대용 배터리를!

Posted at 2012. 3. 12. 06:00 | Posted in 유용한 팁/정보/스마트시대
피쳐폰과 다르게 스마트폰은 방대한 데이터 통신과 OS 내의 여러가지 기능으로 배터리가 금방 소진되어 버립니다. 배터리를 여러개 들고 다니는 방법도 있지만.. 교체할때 전원도 꺼지고 충전하기도 힘든 경우가 많습니다. 또 아이폰같은 경우 배터리 교체도 불가능합니다.

이럴 때는 휴대용 배터리를 추천드립니다!

휴대용 배터리는 일명 보조 배터리라고도 하는데 제품에 넣는 배터리가 아니라 들고다니는 배터리의 전력을 이용해 충전을 해주는 제품을 말한답니다~


휴대용 배터리 구매시 고려할 사항



휴대용 배터리를 구매할때 고려할 사항은 아래와 같습니다.

1. 용량/크기

2. 호환성

3. 가격/AS

휴대용 배터리를 구매할 때에도 역시나 고려할 사항이 많은데 몇가지 사항에 대해 알아보겠습니다.

배터리 용량/크기


전자기기에는 다양한 용량의 배터리가 사용되고 있습니다.
배터리 용량은 mAh로 표시하는데 주요 전자기기들의 배터리 용량을 알아보겠습니다.

스마트폰 제품군(모두 기본 배터리 기준)

갤럭시 S2 1650mAh

아이폰 4S 1420mAh

옵티머스 LTE 1830mAh

갤럭시 노트 2500mAh

태블릿 제품군

아이패드 2 6930mAh

갤럭시탭 10.1 7000mAh

옵티머스 패드 6800mAh

이렇게 제품마다 각기 다른 용량의 배터리를 사용하고 있습니다.
이렇게 전자기기들마다 다양한 배터리 용량을 사용하듯이 휴대용 배터리에도 제품마다 다양한 용량이 존재합니다.

물론 배터리가 클수록 휴대용 배터리의 충전 시간이 오래걸리고 가격이 비싸지고.. 무게와 크기가 늘어납니다.
휴대용 배터리 역시 용도에 맞춰서 잘 구매하시는 것이 중요하지요..

그렇다면 용량이 큰 8000mAh 제품을 구매하면 모든 제품을 완전 충전할 수 있을 거라고 생각하시는 분들도 계실텐데 휴대용 배터리가 8000mAh라도 전압 변경시 손실되는 전력과 제품 작동(LED 등)에 사용되는 전력때문에 완전 충전이 불가능할 수도 있습니다.

배터리 호환성

필자가 사용하는 iWalk 8000 제품.. USB가 달려 있어서 대부분의 제품과 호환된다.


휴대용 배터리를 구매하기 전에 반드시 고려해야할 사항중 호환성이 있습니다.
호환성은 배터리가 제품과 맞는지를 나타내는 것으로  어떤 제품은 단자가 아이폰과만 호환되고 일부는 일부 안드로이드 폰하고만 호환되는 제품들도 있습니다.

요즘 스마트폰들은 대체로 멀티 볼트를 지원하기 때문에 USB가 달린 제품을 이용하면 호환성에는 대부분 큰 문제가 없습니다. 다만 일부 제품은 출력전압이 낮아서 아이패드 같은 타블렛 PC와 호환되지 않는 경우가 있으므로 이 또한 지원되는지 꼼꼼히 따져보셔야 할것 같습니다.


배터리 가격/AS


휴대용 배터리는 한번 구매하면 최소 1년에서 3년까지 사용할 수 있는 제품이기 때문에 가격과 AS를 잘 따져보셔야합니다. 배터리가 AS 기간내에 품질이 떨어진다면 무상으로 교체를 해주는 경우도 있고 추가금을 내더라도 싸게 교체를 해주는 회사들도 있습니다.

가격이 너무 싼 제품을 구매하시면 고장도 쉽게 나고 안정성에 문제가 있을 수도 있으므로 가격이 조금 높더라도 신뢰도가 높은 제품을 구매하시는 것을 추천합니다.
//

[스마트기기]애플 지니어스바 이용하기[스마트기기]애플 지니어스바 이용하기

Posted at 2012. 3. 8. 06:00 | Posted in 유용한 팁/정보
지난 달 중순쯤 미국에 다녀왔는데 그때 이용했던 지니어스바의 이용 방법에 대해 적어보겠습니다..

애플 스토어 홈페이지에서 지니어스바 이용 예약하기

애플 지니어스바는 국내의 A/S센터와는 다르게 미리 이용 예약을 해야합니다.
이용 예약은 애플 스토어 홈페이지나 아이폰의 Apple Store 어플을 통해서 할 수 있는데 저는 애플 스토어 홈페이지를 이용해보겠습니다.


애플 스토어 홈페이지에 접속해서 애플 스토어가 있는 주와 장소를 선택하고 Reserve 버튼을 누릅니다.


수리하려는 제품을 선택하고 Next 버튼을 누릅니다.


시간을 정하고 Next를 누르고 개인 정보를 입력하면 예약이 완료됩니다.

애플 스토어에 방문하기


그렌드 센트럴 애플 스토어.. 직접 찍은 사진인데 내부까지는 깜빡하고 찍지 않았다.


위에서 예약했던 시간에 맞춰서 애플 스토어로 갑니다.
애플 스토어 안에는 제품을 판매하는 코너와 제품을 이용해볼 수 있는 코너.. 그리고 지니어스바가 있는데 지니어스 바쪽으로 가시면 됩니다.

예약했던 시간보다 너무 일찍 도착했다면 파란색 옷을 입은 지니어스에게 이름을 말하고(예약자의 이름) 시간을 변경해달라고 요청합니다.
일찍 도착하는건 상관 없지만.. 늦게 도착하여 사람이 많을 경우 새로 예약해서 기다려야합니다.

만약 시간에 딱 맞춰서 도착했다면 역시 파란색 옷을 입은 지니어스에게 말하면 도착 처리를 하고 데스크를 지정해주고 앉으라고 합니다. 앉아있다 보면 담당할 직원이 오게 되고 제품을 점검해줍니다. 궁금한 것이 있을 경우 해당 담당자에게 물어보면 됩니다.

지니어스바는 국내의 애플 A/S 대행사와는 다르게 제품에 대해 전문적인 지식을 가지고 있으며 문제가 있을 경우 신속하게 해결해줍니다.

제품 물량도 많이 확보하고 있어 리퍼시에도 신속하며.. 제품을 분석할 수 있는 도구도 가지고 있기 때문에 어떤 문제가 있는지도 금방 알려줍니다.

이상 애플 스토어 지니어스바 이용 방법이었습니다~
국내에는 들어오지 않아서 아쉽기도 하지만 미국에서 한번 경험해보니 좋은 것 같습니다 ^^ 
//

[iOS]iOS 어플의 프로텍션(보안) 구조[iOS]iOS 어플의 프로텍션(보안) 구조

Posted at 2012. 3. 5. 23:26 | Posted in 테마 기획/iOS 한글화 강좌 시즌 1
유용한 정보 게시물 - iOS 앱에 대해 알아보자!
 
안녕하세요. 오랜만에 쓰는 정보글입니다.
오늘은 iOS 어플리케이션의 프로텍션(보안) 구조에 대해 알려드리려고 합니다.

애플 앱스토어에서 판매되고 있는 iOS 어플리케이션은 무단 복제,리버싱 방지와 구매자 인증 장치를 탑재하고 있습니다. 또한 iOS 자체의 샌드박스 시스템으로 어플의 권한도 제한하고 있는데 이에 대해 자세히 알아보도록 하겠습니다.

Code Signature  

일단 처음으로 iOS 어플리케이션은 Code Signature(코드 무결성 사인) 이라는 방식으로 보호되고 있습니다.
이 Code Signature는 일종의 해쉬값으로서 어플리케이션을 개발한다음 패키징할때 생성되는 사인입니다.
XCode를 다뤄보신 분이라면 아시겠지만.. XCode 설치시 기본적으로 제공되는 codesign 이라는 유틸리티가 애플 개발자 등록을 한 사람에게 지급되는 개발자 인증서(Provisioning Profile)를 이용하여 이 사인을 작성해주고 있습니다.
이 Code Signature는 파일의 해쉬값을 담고 있으므로.. ipa 패키지 내부의 파일(메타 데이터와 아트워크는 제외)이 단 1바이트라도 변형되면 iOS의 설치 데몬인 installd에서 바로 체크하여 설치가 불가능하게 됩니다.

구매자 정보 인증와 암호화(SC_Info)

두번째로.. iOS 어플리케이션에는 구매자 인증 정보 시스템이 존재하며 메인 바이너리에 암호화가 되어 있습니다. 이는 앱스토어에서 어플을 다운 받을때 삽입되는 고유 코드로.. 구매자의 계정정보(회원코드 및 이름 등)와 이에 따른 해쉬값이 들어 있습니다. 이 인증 정보는 ipa 패키지 내부의 SC_Info 폴더에 저장됩니다. (이 인증장치는 ipa 파일 생성 혹은 앱스토어에 올릴 때 자동으로 적용됩니다.)
또한 이 SC_Info 폴더에는 암호화 키값이 저장되는데 iOS 에서 앱을 실행할때 마다 이 암호화 키를 이용하여 메인 바이너리(어플 명과 같으며 확장자가 없는 파일)의 암호화를 푼뒤 메모리에 올리게 됩니다.
참고로 iTunesMetadata.plist 파일의 경우 아이튠즈에서 표시하기 위한 임시 파일로 이 파일은 보안에 아무런 영향이 없습니다. iTunesArtwork도 마찬가지로 어플리케이션 아이콘을 빠르게 표시하기 위해 들어있는 파일입니다.

샌드박스 시스템 

세번째로 샌드박스 시스템이 존재합니다.
이 샌드박스 시스템은 일종의 격리 장소로.. 어플리케이션이 시스템 폴더나 파일접근하지 못하도록 제공되는 가상 공간입니다.
(이 샌드박스가 XCode에서는 컨테이너라는 단어로 표시됩니다.)

iOS 어플리케이션은 두가지 종류가 존재하는데 바로 시스템 어플리케이션(연락처, 사진, 사파리, 음악, 앱스토어 등의 기본 어플리케이션)과 사용자 어플리케이션(앱스토어에서 다운받는 어플리케이션)으로 나뉘어집니다.
시스템 어플리케이션은 샌드박스 시스템이 적용되지 않고.. 시스템의 모든 부분에 접근이 가능합니다.
(참고로.. iOS를 탈옥하면 설치되는 Cydia 및 Cydia에서 다운받아서 설치되는 어플리케이션 역시 이 시스템 어플리케이션 분야에 속하며 시스템 어플리케이션으로 설치되었기 때문에 Cydia는 애플이 승인하지 않는 앱들을 설치할 수 있고 Cydia에서 받은 어플리케이션들이 테마 적용, 기능 개선 등의 시스템적인 부분에 접근이 가능한 것이죠..)

반면에 사용자 어플리케이션은 이 샌드박스 시스템이 적용되는데 이 샌드박스 외부의 공간으로 접근불가능합니다.
다만 음악 라이브러리, 사진 등에 제한적으로 접근이 가능한 경우가 있는데 이는 시스템 API를 이용한 것입니다. 음악 라이브러리 접근의 경우 iOS 3.0 에서 추가된 기능이기도 하며 그 전에는 이용이 불가능했습니다.
그리고 이 시스템 API를 이용하면 다른 어플리케이션의 폴더에도 파일을 옮기는 등.. 샌드박스 외부에 대한 제한적인 접근이 가능합니다.

앱스토어 심사 제도

마지막으로.. 앱스토어에 어플리케이션을 올릴 때 애플에서 자체 검열하는 앱스토어 심사 제도가 있습니다. 애플 앱스토어에 어플리케이션을 올릴 때에는 애플에서 이 어플리케이션이 자신들의 정책에 위반되지 않는지, 법적으로 문제가 되지 않는지, 코드 등에 해킹 코드는 없는지 등을 자체적으로 확인하게 됩니다.
이 심사 제도에도 몇가지 문제가 있긴 합니다.
비통과시에 이유를 말해주지도 않고.. 심사를 연기하는 등의 여러가지 문제가 있고.. 자신들의 이익에 이용하기도 하며 최근에는 저작권에 문제가 되거나 스팸 어플리케이션이 수차례 올라온적도 있습니다.
반면에 유용하던 어플리케이션(메모리 정리 어플 등)은 삭제가 되었죠..
하지만 몇가지 문제가 있다 하더라도 일차적으로 문제가 될 수 있는 앱들을 걸러주고 나중에 문제가 된다 싶을 때에는 앱스토어에서 삭제 조치 하기 때문에 어느정도는 보안에 도움을 준다고 볼 수 있겠습니다. 물론.. 앱스토어에서 삭제되기 전에 받았던 유저는 ipa 파일만 백업해 놓는다면 원할때 언제든지 다시 설치할 수 있긴 합니다..

필자의 한마디

애플 iOS 어플리케이션의 보안 구조에 대해 어느정도 이해가 되셨나요?
이렇게 많은 보안장치가 걸려있지만...
탈옥 하나로 모든게 무력화 될 수 있다는 점이 참 아쉽기도 합니다.
어플리케이션 개발자들이 힘들게 개발하고 심지어 비용을 내면서 무료로 어플리케이션을 배포하는 경우도 있습니다.
(개발자가 어플을 앱스토어에 등록하거나 기기에 올리기 위해서는 무료앱이든 유료앱이든 1년에 최소 99$를 지불하여야 합니다.)
그리고.. 모든 개발은 맥 OSX에서 이루어지며 애플에서 나온 컴퓨터를 이용하여야 하므로 비용이 추가적으로 들게 됩니다.

이렇게 힘들게 만들어진 어플리케이션인 만큼.. 꼭 정품구매하도록 합시다..!
감사합니다. 
//

[iOS 한글화]plist 파일과 수정방법에 대해[iOS 한글화]plist 파일과 수정방법에 대해

Posted at 2012. 1. 29. 20:11 | Posted in 유용한 팁/정보/스마트시대

 강좌 개요

plist(Apple Property List) 파일을 수정하는 방법에 대해 알아보겠습니다.

 본 강좌

이전 강좌에서는 외부 언어 파일을 찾는 방법에 대해 알아보았습니다~
그렇다면 이제 수정을 해보아야겠지요?

이전 강좌에서 바이너리 plist에 대해 설명을 드렸는데. 바이너리 plist는 xml 파일로 되어있는 plist를 2진수 형태로 변경해둔 파일입니다.
xml 파일은 메모장 등에서 바로 편집이 가능하지만 바이너리 plist는 바로 수정할 수 없으며 바이너리 plist를 xml로 변환하고 수정을 한 뒤 다시 바이너리 plist로 변환을 해야만합니다.

이 변환을 위한 툴을 제작하였으며 아래에서 받으실 수 있습니다.

2012/01/29 - [한글화 강좌/Season 2] - [iOS 한글화]pList Converter

만약 Localizable.strings가 바이너리 plist가 아니라면 바로 텍스트 편집기로 수정해서 넣으시면 됩니다. 수정 방법은 아래를 참고하세요.


위 주소에서 프로그램을 받아주시고 찾아보기 버튼을 눌러 Localizable.Strings 파일을 지정하고 변환하기를 누른 뒤 저장합시다.

변환에 성공하면 위처럼 변환 완료라는 메시지가 뜨며 지정한 경로에 변환된 파일이 생성됩니다.
그럼 생성된 파일을 텍스트 편집기로 열어봅시다.

<key>~~~</key>와 바로 아래 <string>~~~</string> 라는 값이 연속적으로 보입니다.
key 값은 어플리케이션에서 불러올때 사용되는 값이므로 건드리시면 안되고 string 안의 텍스트가 실제로 출력되는 텍스트입니다.

일단 Login의 string 값을 로그인, Logout의 string 값을 로그아웃으로 바꾼 뒤 저장합니다.


그다음 pList Converter을 이용해서 방금 저장한 파일을 지정하고 다시 바이너리 pList 파일로 변환하여 Localizable.strings에 저장합니다.
(사실 바이너리 pList로 다시 변환을 하지 않아도 정상적으로 동작은 합니다.. 하지만 보다 안정적인 한글화를 위해서 바이너리 pList로 변환해주시는 것이 좋습니다.)


마지막으로 아이펀 박스를 이용해서 AppZapp의 경로에 ko.lproj 폴더를 생성하고 안에 Localizable.strings 파일을 넣습니다.

자 이제.. 마지막으로 변경이 되었는지 확인을 해봅시다.


영어로 Login이라고 되어있던 부분이 로그인이라고 나오는 것을 확인할 수 있습니다.



 강좌를 마치며

드디어 plist를 사용하는 iOS 어플의 한글화 강좌가 끝났습니다.
외부 언어 파일을 이용할 경우 쉽게 한글화가 가능하다는 점을 알 수 있었으며 바이너리 plist 파일을 수정하는 툴을 제작하게 되어 보다 손쉽게 한글화가 가능해졌습니다. 

다음 강좌에서는 외부 언어 바이너리 파일을 사용하는 어플의 한글화에 대해 알아보겠습니다.

궁금한 점이 있으시다면 언제나 메일 주시면 답변해드리도록 하겠습니다.
감사합니다. 

//

[iOS 한글화]pList Converter[iOS 한글화]pList Converter

Posted at 2012. 1. 29. 19:50 | Posted in 테마 기획/iOS 한글화 강좌 시즌 1
iOS 한글화 툴 - pList Converter 

iOS 한글화 강좌에 쓰일 Apple Property List 변환 프로그램입니다.


바이너리 plist 파일을 xml 형태로 변환하거나 xml 파일을 다시 바이너리 plist로 변환할 수 있습니다.

이 툴은 오픈소스를 편집하여 유니코드 파일을 지원하도록 제작되었으며 프로그램 정보 창에서 확인하실 수 있습니다.

프로그램을 구동하려면 .Net Framework 3.5 이상이 필요합니다.
맥 OS에서는 구동되지 않으며 추후 프로그램을 제작할 예정입니다.

제작 : MG게이버(mingi2007@gmail.com)

프로그램 다운로드

[업데이트 내역]
버전 1.0 - 최초 공개

//

[iOS 한글화]어플리케이션 구조를 파악하자![iOS 한글화]어플리케이션 구조를 파악하자!

Posted at 2012. 1. 28. 15:15 | Posted in 테마 기획/iOS 한글화 강좌 시즌 1
 강좌 개요

이전 강좌에서 보셨듯이 어플리케이션의 텍스트를 불러올때 외부 파일을 이용하는지, 내부 바이너리에 내장되어 있는지 확인하는 것이 우선입니다.

이번 강좌에서는 어떤 방식으로 텍스트를 불러오는지 확인하는 방법에 대해 소개합니다. 물론 어플리케이션의 개발자가 모두 다르기 때문에 아래 방식으로 모든 어플리케이션의 한글화가 가능한지는 판단할 수는 없습니다.(일부 예외가 있음)

 본 강좌

iOS 어플리케이션의 텍스트 저장방식은 크게 5가지로 나눌 수 있습니다.

1. 외부 언어 파일 이용(lproj)
2. 외부 언어 바이너리 이용(어플리케이션 폴더 내에 내장)

3. 메인 바이너리 내장
4. DLC 파일에 포함(게임 에피소드 등을 인앱결제, iAP 사용하는 어플)
5. 서버 텍스트 이용(인터넷 연결되지 않았을 시 이용 불가한 일부 어플)

첫번째 방식인 외부 언어 파일을 이용할 경우 손쉽게 한글화를 할 수 있으며 순정에서도 패치가 가능합니다. 또한 이 방식을 xcode(ios 어플리케이션 개발 툴)에서 지원하기 때문에 대부분의 어플리케이션이 외부 언어 파일을 이용합니다.

두번째 방식은 외부 언어 바이너리를 사용하는 경우인데 lproj 폴더가 아닌 어플리케이션 메인 경로에 언어 파일들이 들어있는 경우입니다.
이 경우에는 한글화가 가능할 수도 있고 불가능할 수도 있는데 바이너리 파일의 인코딩에 따라 달라집니다. 만약 바이너리 파일이 아스키 코드만을 사용하거나 S-JIS, 중국어등 타국가의 인코딩을 사용할 경우 3번 방식과 같이 메인 바이너리를 수정하지 않으면 한글화가 불가능합니다.


남은 어플리케이션이 나머지 3,4,5번째 방식을 사용할 경우 한글화하기가 매우 어렵습니다.

두번째 방식은 이전 강좌에서 보셧듯이 한글화하려면 바이너리 덤프 과정(이 또한 탈옥 필수)을 거쳐야하며 탈옥을 하지 않으면 패치가 불가능합니다.
세번째 방식은 또 두가지 경우로 나뉘는데 iAP로 추가된 파일에서 텍스트 파일이 따로 분리되어 있으면 구입자에 한해서 패치가 가능할 수도 있습니다.
하지만 텍스트와 인증 파일이 같이 합쳐져 있는 경우 한글화가 어렵습니다.(패치자 자신만 사용 가능)
네번째 방식은 서버에 텍스트가 저장되어 있으므로 한글화가 아예 불가능합니다. hosts 파일 해킹을 통해서 한글화가 가능할 수도 있으나 서버를 직접 구축하여야하며 탈옥 하지 않으면 역시 패치가 불가합니다.

제 블로그의 강좌에서는 위의 방식을 구분하는 간단한 방법과 외부 언어 파일을 이용하는 경우에 한해서만 다루며, 탈옥이 필요한 경우는 다루지 않습니다.

그럼 AppZappPush 어플리케이션을 예로 들어 보겠습니다.

일단 i-Funbox 등의 프로그램을 이용해서 어플리케이션의 경로로 들어갑니다.



경로로 들어가보면 여러 폴더가 보이는데 끝이 lproj 로 시작하는 폴더들이 보이실겁니다. 이 폴더들이 바로 외부 언어 파일을 저장하고 있는 폴더입니다.
lproj 앞에는 언어 약자가 붙는데
English(en).lproj 영어
ko.lproj 한국어
es.lproj 스페인어
fr.lproj 프랑스어
it.lproj 이태리어
ja.lproj 일본어
....
등등 입니다.(더 많은 언어 정보는 http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes 에서 639-1 항목을 보시면 됩니다.)

이 외부 언어 폴더 안에는 텍스트 파일 뿐만 아니라 각 언어별 이미지 파일 등도 들어있습니다. 그리고 언어 폴더가 있어도 텍스트가 포함되어 있지 않은 경우도 있습니다. 이걸 확인하는 방법은 간단합니다. lproj 폴더 내로 들어간다음 Localizable.strings 파일이 존재하는지 확인하시면 됩니다. 물론 이 파일이 있어도 내부 텍스트를 사용하는 경우도 있습니다..
그리고 lproj 폴더가 있음에도 Localizable.strings 파일이 없는 경우에는 lproj 폴더 안에 있는 모든 파일을 확인해서 텍스트가 존재하는지 확인하는 수 밖에는 없습니다. 만약 텍스트가 없는 경우로 확인되면 2,3,4,5번의 경우를 확인하셔야 합니다.
(만약 English.lproj 또는 en.lproj폴더 외에 다른 언어의 폴더도 있는 경우 1번 경우일 가능성이 높습니다.)

그럼 다시 AppZappPush 경로 내의 스크린샷을 보시면 ko.lproj 가 없는 것을 확인하실 수 있습니다. 바로 이 어플리케이션이 한국어 언어 파일을 제공하지 않고 있다는 뜻입니다. iOS의 언어 설정이 한국어로 되어 있지만 ko.lproj 폴더가 없기 때문에 기본 언어인 영어(English.lproj)에서 언어 파일을 불러오게 됩니다.
(* AppZappPush는 특이하게 English.lproj와 en.lproj 두 폴더가 모두 있습니다만 둘다 같은 폴더이므로 크게 상관 없습니다.) 
English.lproj 폴더로 들어가보겠습니다. 


폴더로 들어가보면 Localizable.strings 파일과 여러개의 이미지 파일이 있군요.
저 Localizable.strings 내에 텍스트가 저장되어 있을 가능성이 높아졌습니다.

그럼 이 Localizable.strings를 메모장으로 열어보겠습니다.

이런.. 이 어플리케이션은 바이너리 plist 파일을 사용하는군요.
파일의 맨 앞부분이 bplist로 시작하는 경우 바이너리 plist 파일이며 이 바이너리 plist 파일을 사용하는 경우에는 일반 텍스트 편집기로는 수정할 수 없고 일반 plist 파일로 변환을 하거나 바이너리 plist의 편집을 지원하는 에디터를 사용하여야 합니다.

자세한 수정 방법은 다음 강좌에서 다루겠습니다.


 강좌를 마치며

강좌 내용이 이해가 되셨나요?

오늘 강좌는 lproj를 이용하는 어플리케이션과 아닌 어플리케이션에 대해 소개하고 lproj를 사용하는 어플리케이션의 구조에 대해 알아보았습니다.
lproj를 사용하는 어플리케이션에 대한 강좌가 끝나면 두번째 방식인 외부 바이너리 텍스트 파일을 사용하는 경우에 대해서도 다룰 예정이며 3,4,5번째 방식은 일반적인 방법으로는 한글화가 불가능하므로 넘기도록 하겠습니다.

더 궁금하신 점이 있다면 메일 보내주시면 더 상세히 알려드리겠습니다. 

//