수능치고 친구랑 바람의나라(..)정도 할려고 윈도우를 설치하였다.

무료 가상머신인 VirtualBox 가 꽤나 쓸만하대서 얘로 진행.

부트캠프는 쓸 생각이 없었어나 가상머신에선 실행이 안되는 핵쉴드 때문에

결국 붓캠으로 재설치하였다ㅠㅠㅠㅠ


패러렐즈와 달리 VirtualBox 는 부트캠프 파티션을 가져오는 기능을 기본으로 지원하지 않는다.

하지만 검색해보면 방법은 있고, 클리앙 팁게에 용자군 님이

[맥] 버추얼박스(Virtualbox)에서 부트캠프 파티션 쓰기(Windows7)


라는 글을 써주셨다.


저 글을 보고 하긴 했는데,, 2011년 글이라 그런지 저대로하면 안된다..ㅋㅋ

언제부턴진 모르겠지만 disk0s3 은 복구파티션이 사용하기 때문..


그래서 새로 정리해 봤다.

(당연한 소리지만 $ 는 쉘 종류를 나타내는 기호로 저것까지 복&붙하면 안된다..)


1. BOOTCAMP 파티션 추출

파인더에서 우클릭 -> 추출을 선택하거나

$ sudo umount /Volumes/BOOTCAMP/


2. BOOTCAMP 파티션 ID 확인

$ diskutil list

/dev/disk0

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      GUID_partition_scheme                        *121.3 GB   disk0

   1:                        EFI EFI                     209.7 MB   disk0s1

   2:                  Apple_HFS Macintosh HD            100.5 GB   disk0s2

   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

   4:       Microsoft Basic Data BOOTCAMP                20.0 GB    disk0s4


나의 경우 disk0s4 가 BOOTCAMP 파티션이다.


3. 권한 조정

$ sudo chmod 777 /dev/disk0s4


4. vmdk 파일 생성

vmdk 파일을 생성해야 하는데,

난 ~/VMDisk 라는 디렉토리를 만들고 여기에 생성했다.

$ cd ~/VMDisk


명령어 젤 끝의 숫자를 자신이 확인한 BOOTCAMP 의 id 에 따라 수정해준다.

disk0s4 라면 4번 파티션이다.

sudo VBoxManage internalcommands createrawvmdk -rawdisk /dev/disk0 -filename bootcamp.vmdk -partitions 4



5. 다시 한번 권한..

$ sudo chown 사용자이름 bootcamp.vmdk bootcamp-pt.vmdk

$ sudo chmod a+rw bootcamp.vmdk



6. VirtualBox 새로만들기

(1) 가상 하드디스크: 기존 하드디스크 사용하기 -> bootcamp.vmdk 지정

(2) 생성된 가상머신 설정 -> 저장소 -> IDE 컨트롤러 -> 종류:ICH6


7. 부팅 & VirtualBox 게스트에디션 설치

게스트에디션은 페러렐즈 툴 같이 원활한 가상머신을 위한 프로그램으로, 부팅 상태에서 메뉴에 잘 찾아보면 있다.

클릭하면 CD 로 마운트되고, 설치하면 된다.



재부팅 이 후에 BOOTCAMP 파티션이 자동으로 마운트되는데,

VirtualBox 사용전엔 꼭 언마운트 해줘야 한다.

또한 언마운트 후에 권한 조정도 해줘야 정상적인 사용이 가능하다..


즉, 재부팅할 때 마다

$ sudo umount /Volumes/BOOTCAMP/

$ sudo chmod 777 /dev/disk0s4


를 해줘야 한다..


재부팅시마다 자동으로 하는 방법이 있긴 하지만 일단 난 귀찮으니 패쓰~


그리고 부트캠프 파티션을 추출해버리면 시스템 환경설정 - 시동디스크에 BOOTCAMP 가 나타나지 않는다.

재부팅시 option 을 누르는 방식으로 진입해야 함..

'Mac, iOS' 카테고리의 다른 글

[Mac] .rsrc 추출  (0) 2013.12.15
homebrew 설치 / 다운그레이드  (0) 2013.11.19
Mac openVPN 서버 설치  (0) 2013.11.14
Mac 내장 웹서버 활성화 하기 (웹 공유)  (1) 2013.09.05
[AppStore, 순정] OpenVPN on iOS  (0) 2013.08.14

설정 conf, key 만들기 등은

http://blog.iolate.kr/121

이 글 참고.


사실 난 우분투에서 만들었던 키 들을 그대로 가져왔기 때문에 잘 모르겠지만

크게 다르진 않을거다.

easy-rsa 의 경우도 구글링 해볼 것.



일단 설치는 간단하다.

brew install openvpn


mac ports 로도 되는 것 같지만 brew 가 훨씬 편하니 난 저것만 쓰겠음.


설치하고 나면 daemon 관련 작업을 하라고 하는데

sudo cp -fv /usr/local/opt/openvpn/*.plist /Library/LaunchDaemons

이것만 하고 그 뒤에 launchctl load 부분은 일단 스킵.


설정 파일가 위치할 폴더는 /usr/local/etc/openvpn/ 이다.

(사실 어디에 있든 상관은 없다.)


위에 링크한, 우분투에 openVPN 설치 글을 참고하여 키와 설정파일 들을 만들자.


그러고 나서 아까 brew 설치 후 시키는 대로 복사한 파일을 수정하자.

루트 권한이니 그냥 터미널로 수정을 추천. 잘 모르겠으면 복사해서 수정 후 다시 집어넣어 주면 된다.


<array>

    <string>/usr/local/opt/openvpn/sbin/openvpn</string>

    <string>--config</string>

    <string>/usr/local/etc/openvpn/openvpn.conf</string>

  </array>

빨간색으로 표시한 부분을 자신의 설정파일에 맞게 바꿔주자.

나의 경우엔 server.conf


만약 디렉토리 자체를 다른 곳에서 시작한 경우 앞부분 경로를 맞게 수정해주고

밑에 WatchPaths 와 WorkingDirectory의 경로도 바꿔주면 된다.


그리고 저장.


데몬을 로드하기 전에 문제가 있나 확인하기 위해 직접 실행해 본다.

나의 경우 설정 파일 경로 부터 key 권한 문제까지 여러 문제가 많았거든..;;ㅋㅋ


자신의 설정파일이 위치한 폴더로 이동 후( cd /usr/local/etc/openvpn/ )

sudo /usr/local/opt/openvpn/sbin/openvpn --config /usr/local/etc/openvpn/openvpn.conf


위에서 설정한 환경에 따라 당연히 인자는 적절히 수정해 줄 것.

실행 후 

Initialization Sequence Completed

라는 메세지가 나오면 성공이다.


인터럽트 걸고 나온 후에

sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.openvpn.plist 

를 실행해 주자.



이 후 연결해보면 연결은 잘 될텐데 클라이언트에서 인터넷이 안된다.

우분투에서의 iptables 같은 작업이 필요한 것.


그건 이렇게 하면 된다.


sudo sysctl -w net.inet.ip.fw.enable=1

sudo sysctl -w net.inet.ip.forwarding=1

sudo natd -interface en0

sudo ipfw add divert natd ip from any to any via en0


얘도 재부팅마다 해줘야 하는데,


https://forums.openvpn.net/topic11401.html


여기 들어가보면 저 스크립트를 데몬화 해주는 방법이 있다.

얼마전에 쓴(그리고 수정한)

Permanently Redirect (301)

글 이 후 상황.


안내 페이지를 서버가 아닌 웹호스팅에다 올려놨는데,

목, 금 8시 쯤 트래픽 경고 문자가 왔다..


초저가라 트래픽이 일 600MB 라지만 이때까지 한번도 이런 적이 없었고,

이럴 일도 없던 터라 원인은 당연히 블로그 이전 안내페이지.


하지만 정상적인 접근이라면, 50KB 남짓한 메인페이지로 인한 트래픽이 500MB 씩이나 쌓일리가 없다.


cafe24 에서 제공하는 모니터링 툴로 간략히 봤더니 블로그 몇 개 주소를 중국 아이피 수십 개로 수천번의 hit 이 기록되어 있었다..


결국 tistory 리퍼러부터의 문제는 망할 중국넘들...


목욜 날엔 급한대로 상위 5개 아이피에 대해 index 페이지를 노출하지 않는 걸로 손봤지만

이내 다른 아이피가 천번 넘게 들어오더라...


결국 .htaccess 를 이용해서 중국아이피들을 통째로 막았다.

아이피 정보를 포함한 htaccess 파일은 http://www.ip2location.com/free/visitor-blocker

여기서 얻을 수 있음

기본값이 allow 로 나오므로 중국 선택 후 deny 로 바꿔서 내려받자.


호스팅 사에 중국(해외) 접근을 차단해 달라 할 수도 있겠지만,

저 호스팅을 블로그 안내페이지로만 쓰는건 아니므로  그건 좀 곤란하겠더라.;;ㅋㅋ


내 아이피도 차단시키고 확인해보니 403 Forbidden 이 나온다.

이제 좀 괜찮을려나....

'Linux, Server, Web' 카테고리의 다른 글

python-twistd :: daemon 으로 만들기  (0) 2015.12.23
우분투 시간 동기화  (0) 2015.11.01
MediaWiki URL 설정  (0) 2015.07.30
Apache2 userdir 모듈에서 php 작동안함 문제  (0) 2015.06.28
Unix, Linux, BSD, 그리고 MacOS  (0) 2013.01.03

예전엔 시스템 환경설정 - 공유 에 웹 공유가 있었는데,

Lion 부터인지 Mountain Lion 부터인지 없어졌다.


사용자 계정에 Sites 폴더는 그대로인데 말야..



활성화 방법은 간단,

sudo apachectl start


중지는

sudo apachectl stop 

이다.


활성화만 복잡해졌지 그 외 나머지는 이전과 같음.

활성화를 편하게해주는 앱도 있는 듯...?



================

2016.05.02


El capitan 이후 바뀐 설정으로 인해 데몬이 실행이 안된다.


com.apple.xpc.launchd[1]: (org.apache.httpd[23641]) Service exited with abnormal code: 1

콘솔을 보면 이렇게 뜨고,

$ sudo apachectl

이라고만 입력해보면 
AH00526: Syntax error on line 20 of /private/etc/apache2/extra/httpd-mpm.conf:
Invalid command 'LockFile', perhaps misspelled or defined by a module not included in the server configuration

이렇게 configtest 결과가 나온다.

/etc/apache2/extra 경로에서,


$ sudo mv httpd-mpm.conf httpd-mpm.conf~elcapitan

$ sudo mv httpd-mpm.conf~orig httpd-mpm.conf


요렇게 해주면 됨.


참고:

https://discussions.apple.com/thread/6602475?tstart=0

http://apple.stackexchange.com/questions/211015/el-capitan-apache-error-message-ah00526

PPTP, L2TP는 공유기 설정에 따라 사용이 불가능하거나 일부러 막아놓은 경우도 있다.


이런 저런 불편함이 있어서 OpenVPN 이란게 있는데,

자세한 내막은 모르겠지만 이 녀석을 기본 내장하는 기기는 하나도 없음.

클라이언트 설정 파일 자체가 워낙 복잡해서 그런것 같기도 하다.


여튼,

안드로이드, iOS 도 원래 OpenVPN 이 사용이 불가했다.

루팅 혹은 탈옥을 하고난 후면 사용이 됬지만.


그러다 안드로이드는 4.0 부터인가? OpenVPN 일부를 서드파티 앱의 형태로 사용가능하게 되었고

iOS 도 언제부터인지 모르겠지만 서드파티 vpn plugin 을 제공하기 시작한 것 같다.


여튼 지금 글 쓰려는건 iOS 용 OpenVPN.

(뭐 그래봤자 딱히 쓸 내용도 없고 간략한 소개 정도..)





올해(2013년) 1월달에 나왔으며 iOS 5.0 이상을 지원한다.




(443 포트로 OpenVPN 을 열면 왠만한 차단은 다 뚫을 수 있단걸 내게 가르쳐준) Private Tunnel 사의 서비스는 기본으로 지원하고,

그 외엔 클라이언트 파일을 서버로 부터 받거나,

iTunes 로 넣거나, 메일로 받으면 된다고 설명하고 있다.


web, 메일 등에서의 외부 파일 연결은 zip 등 압축은 지원하지 않고 .ovpn 만 지원한다.

iTunes 로 넣을 경우 키 파일등을 따로 넣어도 ovpn 파일 내용을 토대로 알아서 가져오는데,

web에서 가져오거나 메일로 받을때는 어떻게 되는지 모르겠다.


나 같으면 key 들을 모두 .ovpn 에 쑤셔넣었다.



Web 으로 .ovpn 설정 파일을 받을때 OpenVPN 으로 연결이 안나오고

그냥 내용물이 출력된다면 더보기 클릭!



아이튠즈로 넣든, 메일로 받든, OpenVPN 앱에서 설정 파일을 추가할건지 묻고 추가하면 이제 사용가능!





연결 잘~된다 ㅎㅎ

443 포트와 같이 원래 서드파티 앱에서 사용불가능한 포트들도 사용가능!!






앱에서 사용한 설정이 설정 앱의 VPN 메뉴에서도 볼 수 있는데,

안타깝게도 다른 설정이나 연결은 안되고 각종 설정은 앱에서 하라는 메세지가 나온다.(심지어 여기서 삭제도 안됨)

연결 중일때 해제는 가능하다.


아이튠즈에서 설정파일을 넣고, 추가하고 나면 앱의 샌드박스 내 어디에도 설정 파일을 찾아볼 수 없는 것으로 보아

VPN 설정 추가시 설정, 키들을 iOS 키체인으로 집어 넣는 듯 하다.





참고로 OpenVPN 앱 내 말고, 설정 앱 안에 OpenVPN 설정 메뉴가 생기면서 다른 설정들도 가능하다.




탈옥을 하지 않고 순정에서도 할 수 있는 작업이 점점 늘어나는건 확실히 기분좋은 일인 것 같다~

개발자용 기기는 탈옥에 맞먹는 자율성을 부여해주면 좋을텐데...ㅠㅠ

Activator 를 꺼려하는 사람이 은근히 많아서,

Activator 가 필수적이지 않은 BeeKeyboard 에서는 의존성을 없애야 겠다,, 는 생각만 하고 놔두다가

어제 weak link 로 바꿨다..ㅎ


잠깐 확인해 봤는데 잘됨!


1. Makefiles 의 LDFLAGS 를 아래처럼 사용한다

@@@@_LDFLAGS = -weak_library /opt/theos/lib/libactivator.dylib


내가 못하는건지, 원래 안되는 건지 -weak_library 로 할때는 경로 전체를 적어줘야 하더라..


2. 앱 내에선 클래스의 존재 유무로 라이브러리가 로드 됐는지 확인한다.

다른 방법도 있는 것 같지만, 난 간단하게 저렇게 했음.

확인 안하고 냅두면 크래쉬 남 ㅇㅇㅋ


Class LAE = NSClassFromString(@"LAEvent");

if (LAE != nil) {


}


요런식으로...



설정 부분 같으면 불러오는 부분은 PSListController 를 사용하고,

Activator 를 사용하는 컨트롤러에서는 내부 변수로 Activator 의 클래스를 사용하고 있어서,

PSListController 에서 tableView:didSelectRowAtIndexPath: 를 오버라이드 해서 체크하고 있다.

다른 부분에서 비슷한걸 구현해 사용하고 있기 때문에 쉽게 끝냈음 ㅋ


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

    int group = [self indexOfGroup:indexPath.section];

    int pIndex = group + indexPath.row + 1;

    

    PSSpecifier* spec = [self specifierAtIndex:pIndex];

    if ([[spec propertyForKey:@"detail"] isEqualToString:@"GActivatorSettings"]) {

        Class LAE = NSClassFromString(@"LAEvent");

        if (LAE != nil) {

            [super tableView:tableView didSelectRowAtIndexPath:indexPath];

        }else{

            [tableView deselectRowAtIndexPath:indexPath animated:YES];

            NSString* message = LS(@"NEED_ACTIVATOR");

            UIAlertView* alert = [[UIAlertView alloc] initWithTitle:LS(@"BeeKeyboard") message:message delegate:self cancelButtonTitle:LS(@"OK") otherButtonTitles:nil];

            [alert show];

            [alert release];

            return;

        }

    }

    

    [super tableView:tableView didSelectRowAtIndexPath:indexPath];

}


단, 이 경우 PSListController 의 헤더에 tableView:didSelectRowAtIndexPath: 가 선언되어 있지 않기 때문에

선언해주고 써야 한다.


@interface PSListController (p)

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;

@end



+ 확실하진 않은데, PSListController 에서 불러오는 plist 에서 index 0 의 항목이 PSGroupCell 이 아닐 경우 index 번호가 한개씩 밀릴 수도 있음... ㅎㅎ;;




여튼 이렇게 하면, Activator 와의 연계 부분을 사용하고 싶은 사람만 Activator 를 설치, 사용할 수 있게 된다!


다른 Dynamic Library 나 OS버젼 따라 다른 프레임워크 등도 이런식으로 사용하면 된다.

프레임워크의 경우엔 -weak_framework 임.



고1때, 반에서 틈틈히 사진을 찍어 한달에 한번 꼴로 사진을 인화, 저런식으로 반에 붙여뒀었다

중2때 담임쌤이 사진을 반에 걸어두셨었는데 그게 생각나서 했던것 같은데...


여튼 반응은 대체로 괜찮았음ㅎㅎ 쌤들도 재밌게 보고 가시고, 애들도 대부분 좋아하고...

덕분에 1년동안 학교에서 찍은 사진들이 2천여장을 넘어섰다....ㅋㅋ


고2때는 담임쌤이 저런걸 싫어하시진 않을까 눈치만 보다가 말았는데, 그러다보니 사진도 덜찍게 되더라.

그게 좀 아쉬워서, 고3 올라와서는 반에 텅텅 빈 게시판이 있길래 쌤 허락맡고 사진 붙이기로 했음!!




1학년때에 한거에 비하면 좀 초라한가..?ㅎㅎ

교실 뒷편 벽이 다 저런 초록색 게시판인데 우측부분을 다 사진으로 채우는게 목표!

지금은 저기보다 사진이 많은데, 금방 채울 수 있을 것 같다...ㅋㅋ


원래 사진 인화는 집 앞에 사진관에, 어머니에게 부탁해서 인화했었다.(학교땜에 내가 갈 순 없으니..)

가격도 비싸고,, 편집 같은 것도 내 맘대로 못하고...

일반적인 사이즈의 인화지의 경우 사진 비율보다 가로 비율이 조금 더 길어서 위아래로 잘리게 되는데 이 부분을 내 마음대로 할 수 없는것이 제일 마음에 안들었다.



요즘에 별게 다 인터넷으로 되는데 사진인화도 할 수 있지 않을까? 라는 생각으로 사진인화 서비스를 찾아봤었다.

조건은,

1. 맥에서도 사용가능 할 것.

2. 편집을 할 수 있을 것.

3. 사이트가 전체적으로 깔끔하고 결제가 맥에서 가능할 것.

정도..? 사실 결제까지는 큰 기대 안했지만, 놀랍게도 스냅스는 이 모든걸 충족한다.


게다가 가격도 집 앞 사진관의 절반수준!! 장당 250원이라는 가격은 매번 가슴아팠는데 스냅스는

장당 139원이다.

20장 정도 인화할 경우 택배비 2500원이 추가되면서 집 앞에서 인화하는 것과 별 차이가 없다는게 문제..ㅠㅠ

편집을 내 맘대로 할 수 있다는 것에 만족하자..ㅠㅠ




사이트가 세련되게 잘 만들어져 있길래 회원가입하고 사용해 봤는데 처음 생각한 조건이 다 충족되서 놀랐음 ㅎ

결제는 아쉬운게 되긴 되는데 내가 사용하는 카드 결제방식은 지원하지 않는다..

그래도 무통장 입금이 active x 없이 가능해서 이걸로 쓰면 되니 큰 불만은 없다.


사진인화 과정은 간단하기도 하고, 잘 만들어져 있어서 그냥 따라 만들면 되지만,

그래도 한단계 한단계 글을 써보았다 ㅎ


우선 스토어 메뉴에서 사진인화를 누른다. 다른 종류도 많으니 살펴볼 것!

일단 지금은 사진인화만 하지만, 연말에 포토북으로 사진들 모아서 담임쌤들이나 친한 친구들에게 만들어주면 좋아하겠지?



스토어 버튼을 누르면 하단에 아기 사진들이 사이즈 별로 나오는데 주문하기 버튼이 있다. 사이즈별도 다 링크로 사실 뭘 클릭하던 뜨는 창은 똑같고 사이즈는 어차피 다시 선택해야 하니 아무거나 누르면 된다.


클릭하면 아래와 같은 편집프로그램이 모니터 화면 가득차서 실행된다.

컴퓨터에서 사진을 불러오면 메인 좌측에 사진이 쌓인다. 사진을 선택하고 하단부의 우측 상단에 있는 전체 담기를 누르면 원하는 사이즈를 선택할 수 있고, 선택 후의 화면은 위 스샷과 같다.

참고로 일반적으로 사진관에서 인화하면 나오는 사진의 사이즈는 (스크린샷에서 볼 수 있듯이) 4X6 이다.


그 다음 우측 상단의 다음을 클릭~

팝업이 뜨면서 편집하고 인화할꺼냐고 묻는데 그냥 네 누르자.

아니요 눌러도 편집화면을 다시 볼 수는 있다.




실제 사진으로 인화될 부분을 저 파란색 상자로 지정할 수 있어서 사진마다 적절히 조정해주고,

간단한 효과, 스티커, 텍스트 등을 할 수 있는데 솔직히 저런건 난 안쓰고, 촬영일만 넣는다.


사진 한장에서 "실제 촬영일 입력" 선택, -> 글꼴 선택 -> 전체 사진에 적용 하고나면 모든 사진에 동일하게 촬영일이 들어가는데(물론 날짜는 exif 에 따라가도록 할 수 있는 옵션이 있다.) 그리고 나서 파란색 박스 조정해준 것처럼 사진마다 조금씩 조정해주면 된다.


참고로 글꼴 부분에는 지금 버그가 좀 있는 것 같다.

저 스크린샷만 봐도 선택한 글꼴과 미리보기의 글꼴이 일치하지 않는다..

나의 경우 이거때문에 촬영일이 엉망이 되서 재주문(물론 고객센터 문의 후 무료처리)을 했는데, 재주문 하면서 저 부분도 같이 리포트 했으니 금방 고쳐지겠지...?


편집을 다하고 좌측 상단의 닫기버튼을 누르면 이런 화면을 볼 수 있다.

이 화면에서 좌측 상단의 사진추가, 사진편집 버튼을 누르면 위에서 했던 작업들의 페이지로 이동할 수 있다.


일괄옵션으로 설정 후 사진마다 각각 옵션을 따로 줄 수 있고 인화 매수도 선택 가능.

밝기보정은 뭐가 달라지는지 딱히 모르겠더라...


다 했으면 장바구니 담기 클릭!


그러면 편집창은 닫히고 장바구니가 뜬다.

여기서 결제 등 마무리 작업을 하면 됨. 뒤에는 귀찮아서 생략 ㅋㅋ


장바구니 담기 이후에도 편집을 할 수 있는데 이때 exif 의 촬영일 데이터가 이상해지는 것 같으니 확인을 잘 해보자..

이 역시 일단 리포트 해두긴 하였다.




우연히 선택한 스냅스가 내가 원한 조건도 다 충족하고, 꽤나 만족스러워서

다른 사진인화 서비스는 찾아볼 생각도 안해봤다 ㅋㅋ



사진 인화 할일이 있는 사람이나, 추억꺼리를 만들고 싶은 사람들에게 추천!!

단지 사진 찍는걸 좋아한다기 보다는 그 순간을 남긴다는 의미에서의 사진을 좋아해서 자주 카메라를 들이대고 찍는데

나만 보고 추억에 잠기는 것보다는 이렇게 인화해서 모두 함께 보는 것도 좋은 선택인것 같다.


저렇게 사진을 인화해서 걸어두면 처음에 찍히는걸 거부하는 친구들도 막상 자기 사진이 없으니까 아쉬워 하고, 다음번엔 적당히 찍힐려고 하더라 ㅋㅋㅋ

추가 - Gist 란걸 알아서 거기에도 올려봤음~ 걍 소스만 저기 다시 올린거....

https://gist.github.com/iolate/5479930




네트워크 선택... 옆에 뱅글뱅글 돌고 있는 저 인디케이터.


초기 아이폰때 부터 있던 UI 로 구현이 쉬울줄 알았다..

혹은 주워쓰면 되는 예제라던가.


근데 전혀 그렇지가 않더라...ㅡㅡ

심지어 내가 사용한 방법은 iOS6 이후만 쓸 수 있음.



우선 iOS6 이후로 UITableViewHeaderFooterView 란게 생겼다.

마찬가지로 dataSource 에

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

라는 메서드도 호출됨. (하지면 [super ~~ ] 로 안되는걸로 봐선 구현해야지만 작동하는 듯 하다.)


설명으로 봐서는 nib 으로 커스텀 뷰를 만들고 등록 후 사용해야 하는 것 같지만

난 그럴 필요가 없기에 기본 클래스를 다시 등록하고 거기에 인디케이터만 붙였다.


대충 아래와 같이 사용.



activityIndicator 의 상태를 조절하기 위해서 따로 선언하고 사용하는게 좋다.

아쉬운 점은 초기화 되기 전에 호출되는 것인지 label 의 길이를 얻어올 수가 없다.


후에 다시 재조정해주는 방법 등으로 사용해야 할 듯.

또한 tintColor 등의 메서드에 내가 먼저 접근해버리면 이상해져 버림.


brew 를 설치하면서 macports 를 옮겼는데

예상치 못한 문제가 생겨났다..ㅠㅠ


레포지토리를 만들때 필요한 dpkg-scanpackages 가 제대로 작동이 안되는 것..

dpkg-scanpackages 는 perl 스크립트 인데 이 스크립트에서 필요한 Dpkg 모듈이 제대로 로드가 안되는 문제였다.


brew 로 설치된 dpkg 의 원본 디렉토리 하위에 보면 Dpkg.pm 파일이 있고 이 경로를

Perl 의 include 폴더에 포함시켜 주면서 일단은 해결.

여기까지도 상당한 시간이 걸렸는데, 

짜증나게 그다음 sha256sum 이 실행이 안되는 문제 발생.


macports 가 설치한 sha256sum 을 찾아보니(/opt/local/libexec/gnubin/)

자기 자신을 링크하는 파일일 뿐, 원본을 찾을 수 없었다...ㅠ



결국 일단 우분투에서 시도.

dpkg 만 설치해서는 안되고 dpkg-dev 패키지를 설치해야 한다.

설치 후 시도해보면 정상 작동!!


이것만 2시간 넘게 삽질한 것 같다..ㅠㅠ


BeeAppControl

(Jailbreak only, Cydia Tweak)


얘는 BeeKeyboard 의 애드온입니다!

BeeKeyboard 와는 다른거구요! BeeKeyboard 에 얘를 추가로 설치해서 사용하는 겁니다!!




키보드의 단축키로 사용자가 지정한 지점에 터치, 스와이프(제스쳐)한 것 같은 효과를 줌으로써

앱을 컨트롤 할 수 있게 해줍니다.


설정하기 나름이겠지만 Cydia 와 iFile 을 제외한 모든 iOS 앱에 적용할 수 있습니다.

BeeKeyboard 의 애드온 형태로 작동하며(애드온 + 트윅), 앱마다 애드온을 각각 다 만들어줘야하는 기존 BeeKeyboard 의 단점을 해결하기 위해 개발하였습니다.


영상에서 약 35초쯤 제노니아 플레이 초반에 어떤식으로 설정하는지 볼 수 있습니다.

NEEDY 님이 쓰신 글 참고하셔도 되구요.(사실 전 누군지 모르는 분...ㅎㅎ) http://troupe_ohoo.blog.me/181482470


현재 개발중이며 아마 올해 말, 내년 쯤 되야 릴리즈 될 것으로 예상되네요.

( 고3입니다...ㅠㅠ 문과인건 함정ㅋㅋ)


알파 릴리즈 - http://blog.iolate.kr/139


iOS5, 6 에서 작동 확인.


동영상에서 테스트를 위해 플레이한 게임은 암드 히어로즈 와 제노니아5 입니다.



ps.

16초 부터 화면에 등장하는 앵그리버드는 터치한 지점에 이미지를 띄워주는 TouchPose+ 의 기능으로

이해를 돕기 위해 활성화 했을 뿐 BeeAppControl 이나 BeeKeyboard 와는 아무런 연관이 없음.


ps2.

BeeAppControl 이 필요로 하는 BeeKeyboard 는 현재 시디아 스토어에서 판매중인 유료($3) 트윅입니다.

또한 이 글에서 소개 중인 BeeAppControl 도 출시시 $2~3 정도로 유료로 출시될 가능성이 높습니다.

+ Recent posts