윈도에선 탐색기에서 파일을 선택하고 연결 프로그램을 설정하든지, 응용프로그램에서 확장자 연결을 하면 되는데 Mac에선 어떻게 해야할지 모르겠더군요. Open With로 파일을 열면서 연결 프로그램을 설정해도 그 파일만 해당 프로그램에 연결되고 다른일을 열면 기본 프로그램이 실행되더군요. 파일을 열때마다 Open With로 여는 것도 귀찮고 해서 찾아보니 쉬운 방법이 있더군요.
Finder에서 원하는 확장자의 파일을 선택해서 Get Info 하시면, Open with에 응용프로그램 설정하는 것과 그 밑에 Change All 버튼이 보입니다. Change All해주시면 됩니다. 역시 알고나면 너무 단순한...
예전에 한영키가 있는 키보드가 처음 나왔을 때, 이런 키보드가 왜 필요하냐고, 난 Shift+Space가 더 편하다고 예기하던 적도 있었습니다. 그런데 윈도를 오랫동안 사용하다보니 이젠 한영키가 더 편하네요. 거기다 제 컴에선 Shift+Space는 단축키로 지정도 안되서 Spotlight search field를 실행하는 키를 Shift+Command+Space로 바꾸고, 한영 전환은 Command+Space로 사용하고 있습니다.
어쨌든 Mac만 사용한다면 모르지만, PC도 자주 사용해야하고, 한영전환 단축키는 이것 저것 다르게 쓰면 짜증만 나기때문에 Mac에서 한영키로 한영전환하는 방법을 찾아보았습니다.
우리 친구 구글에 답이 있더군요.
KeyRemap4MacBook은 오픈 소스 프로젝트로 특정 키를 다른 키로 맵핑해주는 툴입니다. 그런데 이 키들이 대부분의 윈도 프로그램들처럼 키 입력을 받아서 설정되는 방법이면 좋겠는데, 개발자가 키코드와 그 사용법을 미리 다 입력해두고, 사용자는 checkbox로 사용한다 아니다만 지정해주는 방식입니다. 위 사이트에서 프로그램을 다운받아 보시면 알겠지만, 일본어, 러시아어, 유럽 등등어는 다 있는데 한국어는 없더군요. ㅠㅠ
어쨌든 오픈 소스기 떄문에 수정해 보기로 마음먹었습니다. 그런데 막상해보니 소스 코드는 수정할 필요가 없고 xml만 수정하면 되더군요. 그런데 소스 코드가 어떻게 된건지 모르겠지만, xml을 수정해도 위 사이트에 나오는 순서대로 make돌려서 pkg를 새로 만들어줘야 하더군요. 이런 툴을 만들어 준것만 해도 감사한 일이니 고마운 맘을 가지고 아래 순서대로 컴파일해주도록 하죠. 전 Command+Space를 한영키로 사용하지만, 다른 키를 사용하는 분들도 있을지 몰라 예제 차원으로 Shift+Command + Space 를 한영키로 사용하는 옵션도 추가했습니다. 아래 xml 참조하셔서 자기가 사용하는 키를 추가하시기 바랍니다.
이 방법은 Apple사에 의해 공인된 방법이 아닙니다. 원본 글에도 있듯이 모든건 자기 책임하에 해볼테면(!) 해보는 방법입니다. 시스템 다시 깔 생각이 있으시고 하드에 중요한 데이타가 없는 경우에만 시도해 보시기 바랍니다.
여러가지 이유로 MAC에서 NTFS 파일 시스템을 읽고 쓸 필요가 있습니다.
예전에 Leopard 10.5.x 사용할 떈 시도를 안해봐서 모르겠고, Snow leopard 10.6.2에서 시도해봤는데 기본적으로 읽기는 가능한데 쓰기는 안되더군요. 혹시 현재 컴퓨터의 ntfs 파일 시스템이 Finder에 보이지 않는다면 Finder Preferences->General 에서 Show these items on the desktop에서 Hard disks가 선택되어져 있는지 확인해 보시기 바랍니다. 이게 선택되어져 있다면, Finder의 왼쪽 Navigation Bar에 하드 디스크가 보이실 것입니다. 제 경우엔, 하드디스크가 보이면 읽는데는 아무 문제가 없었습니다.
문제는 파일을 추가/변경/삭제해야될 필요가 있을 때입니다. Get Info해서 권한을 확인해보면, read only로만 나오고 변경도 안되더군요. 우리의 친구 구글로 검색해 봤더니 이런글이 나오더군요. 밑의 댓글들을 훑어보니 긍정적인데다가 편집 시간등을 보니 답글보다 원본글이 갱신된 글이길래, 안되면 시스템 다시 설치할 생각을 하고 바로 확인해봤더니 잘 되더군요. 오호!!! 그런데 글로 쓸려니 2가지 방법 다 해봐야겠기에 밑의 iBlacky의 방법도 해봤는데 저한텐 안되더라구요. 굳이 추가한거 보면 원본 글을 쓴 Chrysaor은 정상작동한 모양인데도 말이죠.
Guide: Enable native NTFS Read/Write in Snow Leopard
This is experimental, and known to be unstable, use at your own risk.
I am sure many of you heard that Snow Leopard was supposed to have native read/write for NTFS partitions. Apple supported NTFS R/W in older SL builds but I guess decided to not to go with it for some reason, however support is still present.
For this, you need to modify your /etc/fstab file to mount NTFS partitions for read and write.
First, uninstall NTFS-3G/Paragon if installed.
Open Terminal.app (/Applications/Utilities/Terminal)
Type "diskutil info /Volumes/volume_name" and copy the Volume UUID (bunch of numbers).
Backup /etc/fstab if you have it, shouldn't be there in a default install.
Type "sudo nano /etc/fstab".
Type in "UUID=paste_the_uuid_here none ntfs rw" or "LABEL=volume_name none ntfs rw" (if you don't have UUID for the disk).
Repeat for other NTFS partitions.
Save the file (ctrl-x then y) and restart your system.
After reboot, NTFS partitions should natively have read and write support. This works in both 32 and 64-bit kernels. Support is quite good and fast, it even recognizes file attributes such as hidden files.
Alternative Method by iBlacky:
Rename the original /sbin/mount_ntfs tool:
__________________ Dell XPS M1530 - Mac OS X Snow Leopard / Windows 7
Last edited by Chrysaor : Jan 19, 2010 at 11:05 AM.
어쨌든 저한텐 잘 작동하니 Chrysaor의 방법을 살펴보겠습니다. 그전에 이 글을 간단히 살펴보면 원래 Snow Leopard에선 NTFS를 지원할 예정이었는데 여하한 이유로 포기한 것 같지만, 기능 자체는 남아있는것 같다는 겁니다. 즉 공식적은 아니란거죠 그리고 아래 댓글에 보면 chkdsk를 돌려야할 경우도 생기고 하는걸 봐서는 100% 안정적이지도 않은 것 같습니다. 간단히 Mac에서 받은 파일을 백업하거나 옮길 필요가 있을 경우에만 사용하는게 좋지 않나 싶네요. fat32를 쓰면 이런 방법 필요없이 바로 인식한다고 하니 참고하시기 바랍니다. 다만 느리고, windows랑 mac이랑 번갈아 가면서 파일쓰다보면 깨지는 경우도 생기는 것 같으니 이것도 그렇게 맘이 놓이진 않네요. ^^;
잡설이 길었는데 방법은 간단합니다.
만약 NTFS-3G/Paragon이 설치되있으면 uninstall, 기본으로 Snow를 설치했다면 없을겁니다. 아마도... 전 이게 뭔지도 모르겠네요. ^^; 귀찮아서 이게 뭔지 검색 안해봤습니다.
/Applications/Utilities/에 있는 Terminal.app 실행
Harddisk UUID 읽어오기 (2방법 중 아무 방법이나 사용하면 됩니다.)
원본글에 있는 명령행 툴을 이용하는 방법
diskutil info /Volumes/볼륨이름
/Applications/Utilities/에 있는 Disk Utility.app (쉬운 방법, 볼륨이름 치기 귀찮을때)
NTFS 파일 시스템인 볼륨을 선택한 후 오른쪽 마우스 버튼을 클릭해서 Information
UUID를 복사
/etc/fstab 이 있다면, Terminal에서 백업 (기본으로 설치했다면 없을 것임)
sudo mv /etc/fstab /etc/fstab.100504
Terminal에서 /etc/fstab 생성
sudo nano /etc/fstab
UUID=위에서_기록해둔_UUID none ntfs rw
만약 UUID가 없다면, LABEL=볼륨명 none ntfs rw
하드디스크가 여러개라면 각각 한 줄에 하나씩 입력
ctrl+x누르고 y, 그 후 Enter를 누르면, 파일을 저장하고 nano를 빠져나갑니다.
시스템 리부팅
리부팅 후 보면, NTFS에 파일을 쓸 수 있습니다.
초보분이 있을까봐 화면 캡춰했더니 글이 쓸데없이 길어졌네요. 해보면 간단합니다. ^^; 어쨌든 저는 잘됩니다.
앞으로 어느 정도 글을 쓰게 될 진 모르겠지만, 일단 간단하게 기본 cocos2d용 프로그램을 만드는 것부터 시작해볼까 합니다. 솔직히 이런 글은 컴파일 한번만 해보면 다 아는 내용이라 쓸 가치도 별로 없어보이지만, 아직 Xcode를 한번도 사용해보지 않은 사람들의 경우 Xcode화면 한번 보시라고 올려봅니다. 뭐 검색하면 다 나오지만...
먼저 Xcode를 실행합니다. 참고로 Xcode는 /Developer/Applications에 설치되어 있습니다. 한 번 실행하신 후에는 Dock의 Xcode 아이콘에 오른쪽 마우스 버튼을 클릭해서 Options->Keep in Dock을 아래처럼 체크해주시면 다음 로그인 시에도 Dock에 Xcode가 계속 남아있어서 편리하게 실행할 수 있습니다.
자 이제 File->New Project를 실행합니다.
2010/05/01 - [개발 - iPhone/개발 환경 구축] - cocos2d 0.99.2 개발 환경 구축 - 설치 에 나와있는 것처럼 설치하셨으면 아래처럼 User Templates에 cocos2d 0.99.2가 보이실 겁니다. cocos2d Application은 물리 엔진없이 기본 프로젝트를 만드는 것이고, 나머지 2개는 각각 Box2d와 Chipmunk라는 물리엔진을 사용하는 기본 프로젝트를 만드는 것입니다. 일단 아래 그림처럼 Box2d를 이용해서 프로젝트를 만들어보죠.
폴더를 변경하지 않으셨다면 기본으로 홈폴더 밑의 Document에 프로젝트를 만들게 됩니다.
이렇게하면 아래처럼 기본 프로젝트가 만들어집니다. 앞으로 소스 코드 작업을 할 영역은 Classes폴더입니다.
나머지는 쭉 한번 훑어 보시면 되겠고, 간단하게 main.m을 살펴볼까 합니다. 원래 Xcode에서 Mac이나 iPhone용 프로젝트를 만들면 Xib나 Nib등의 Form을 사용하게 되는데, cocos2d 템플릿을 이용해 프로젝트를 만들면 기본으로 그런 Form을 사용하지 않는 형태로 프로젝트를 만들어 줍니다. 혹시 cocos2d 템플릿을 이용하지 않고 프로젝트를 만들고 나서 Xib나 Nib을 사용하지 않으려면 여기 있는 main.m의 UIApplicationMain 호출처럼 수정해주시고, info.plist의 Main nib file base name을 삭제해주시면 됩니다.
자 이제 만든 프로젝트를 실행해보죠. Build and Run을 클릭하면 아래처럼 iPhone Simulator가 실행되는 것을 보실 수 있습니다. 화면을 클릭하면 Box가 생성되면서 간섭 체크를 하는걸 보실 수 있습니다. 화면을 다다다다다닥 클릭해보세요. ^^;
저도 Finder에서 프로그램 설치할 때나 기타 등등의 이유로 암호를 물어볼 때, 귀찮아서 사용자 암호를 설정하지않고 사용하는데, sudo를 통해서 실행하려면 반드시 사용자 암호가 있어야 하더군요. 그래서 암호 설정하는 방법을 알려드립니다.
먼저 System Preferences를 실행합니다.
Dock에 보면 옆의 아이콘이 보이죠 ? ^^;
실행하면 아래처럼 나오는데 제일 아래의 Accounts를 실행합니다.
Change Password 버튼을 Click해서 암호를 바꿔주면 됩니다.
만약 제일 아래 자물쇠 아이콘을 클릭하고 Allow user to administer this computer의 선택을 지워버리시면, 이 사용자는 더 이상 root권한을 가지지 않습니다. 이렇게 되면, 시스템에 root 사용자가 없어져버려서 다른 프로그램 설치나 다른 admin작업을 전혀 수행할 수 없게됩니다. 저도 MAC은 초보라 숨겨진 root나 다른 복구 방법이 있는지 모르겠지만, 이렇게 되면 아마 새로 설치해야 되지 않을까 싶네요. ^^.
cocos2d 다운로드 http://www.cocos2d-iphone.org/ 의 Download에서 다운받습니다. 2010/4/30현재 0.99.2가 최신 버전이네요.
Stable버전은 정식 릴리즈된 버전이란 의미입니다.
추가로 필요한 프로그램
cocos2d를 다운로드해서 설치한 후 템플릿을 이용해서 빈 프로젝트를 만들어서 실행하면 잘되지만, cocos2d-iphone.xcodeprog 를 컴파일하면 오류가 생깁니다. 전 이 오류들을 보고 검색해서 설치했지만, 미리 다음 프로그램들을 받아서 설치해 두는게 좋겠죠.
plblocks 1.0.1 (http://code.google.com/p/plblocks/)
block관련 컴파일러와 runtime framework입니다.
라이센스에 대한 특별한 언급은 없네요.
애플에서 4.0에서는 Block을 지원할 예정이지만 3.x에서는 지원하지 않기 때문에 3.x에서 Block을 사용하려면 이것을 설치해야만 한다네요.
ref: Blocks with Cocoa
자, 그럼 설치를 시작합니다.
1. cocos2d 설치
다운받은 cocos2d-iphone-0.99.2.tar.gz를 더블 클릭하면 자동으로 압축을 풀어줍니다.
터미날을 실행해서 그 폴더로 이동해서 sudo ./install-templates.sh 라고 실행합니다.
암호를 물어보면 로그인 암호를 입력하면 됩니다. 참고로 사용자 암호가 없으면 sudo 실행이 안되더군요.
이렇게 설치가 끝나면 2군데에 파일이 유지됩니다.
프로젝트 템플릿: /Library/Application Support/Developer/Shared/Xcode
예제: 다운받은 폴더 밑의 cocos2d-iphone-0.99.2
2. cocos2d 예제 컴파일
2.1 plblocks 설치 plblocks-1.0.1-snowleopard.dmg 을 더블클릭하면 다음 화면이 실행됩니다. Plausible Blocks SDK.pkg를 더블 클릭해서 설치합니다.
실제 프로젝트에서 사용할 프레임워크는 수작업으로 복사해야하는데, iPhone Runtime 아래의 PLBlocks.framework를 복사해서, cocos2d 예제를 수정없이 실행하시려면, 다운받은 폴더 밑의 cocos2d-iphone-0.99.2로 복사하시면 됩니다.
2.2 doxygen 설치 Doxygen-1.6.3.dmg를 더블클릭한 후 Doxygen을 /Applications/ 에 복사합니다.
2.3 cocos2d 예제 컴파일 다운받은 폴더 밑의 cocos2d-iphone-0.99.2에 있는 cocos2d-iphone.xcodeproj를 Xcode에서 엽니다.
아래처럼 Project->Set Active Target->build all tests 를 선택하고 Build합니다.
2.4 cocos2d 예제 실행
아래처럼 Project->Set Active Executable에서 실행할 예제를 선택하고 실행하면 됩니다.
이제 기본적인 환경 구성은 마쳤고, 예제와 구글링을 통해서 실력을 쌓는 것만 남았네요.
다들 파이팅입니다.
cocos2d for iPhone license:
---------------------------
cocos2d for iPhone was originally licensed under the GNU LGPL v3 license.
But since it is impossible to distribute 3rd party dynamic libraries
for the iPhone, this license extends the GNU LGPL v3 license by allowing you:
a) to use cocos2d for iPhone as a static library
b) to include all or part of the cocos2d for iPhone sources inside your project
This means that if you do a) and/or b) you are NOT forced to release your
source code under the GNU LGPL v3 license.
What is an improvement to the library and what's part of your game is
decided by the your own good faith.
Remember that cocos2d for iPhone follows the copyleft idea. So if you think that
you're improving the library, share your changes with the community with this same
license.
If you have any doubt regarding the license, please contact Ricardo Quesada.
좋네요. 그냥 사용해도 된다는 거네요. ^^;
그런데 함께 포함된 CocosDenshion이라는 사운드용 라이브러리는 아래 라이센스 정책을 사용하네요.
Sound Engine
Copyright (C) 2009 Steve Oldmeadow
For independent entities this program is free software; you can redistribute
it and/or modify it under the terms of the 'cocos2d for iPhone' license with
the additional proviso that 'cocos2D for iPhone' must be credited in a manner
that can be be observed by end users, for example, in the credits or during
start up. Failure to include such notice is deemed to be acceptance of a
non independent license (see below).
For the purpose of this software non independent entities are defined as
those where the annual revenue of the entity employing, partnering, or
affiliated in any way with the Licensee is greater than $250,000 USD annually.
Non independent entities may license this software or a derivation of it
by a donation of $500 USD per application to the cocos2d for iPhone project.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
영어인데다가 라이센스 부분이라 잘못 해석할까봐 불안하긴 하지만, 일단 간단히 살펴보면 다음과 같습니다.
개인이나 소규모 회사에서는 시작화면이나 만든사람 화면에 cocos2d for iPhone을 이용했다는 것만 최종 사용자들이 알 수 있으면 되지만, 여하한 방법으로 년간 25만 USD이상의 매출이 있는 기업이나 소규모 회사라도 이런 정보를 표시하지 않은 경우에는 앱당 500 USD를 내야 한다.
뭐 가만 생각해보면 년간 25만불 이상 매출이 발생한다면, 500 불정도야....ㅎㅎ
하지만 이제 커나갈려고 하는 신생 회사에서는 조금 고민을 해봐야 겠네요.
이외에도 물리 엔진으로 Chipmunk와 Box2D를 포함하고 있는데, 소스 코드에 있는 라이센스 언급을 보면 공짜네요.
Chipmunk: Copyright (c) 2007 Scott Lembcke
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
여기다가 또 테스트 프로젝트를 만들어보면, FontLabel과 TouchJSON이란게 있네요. 참조해야할게 많다. ㅠㅠ
어쨌든 이것도 공짜네요.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
TouchJSON: Copyright (c) 2008 Jonathan Wight
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
이외에도 내부적으로 더 사용하고 있는 다른 모듈이 있는지 모르겠지만, 기본적으로 cocos2d의 라이센스를 따른다고 보면 되겠네요. 그래서 템플릿을 이용해서 빈 프로젝트를 생성하면, cocos2d와 CocosDenshion 라이센스 파일만 보이나 보네요.