Adobe AIR는 모바일 게임을 만들기 정말 좋은 플랫폼입니다.


하지만 막상 디바이스에 설치해보려면


난관이 이만저만이 아닙니다.




그래서!! 만들었습니다.


원클릭 빌드 시스템 !!




사용 가이드 나갑니다.





앞으로 계획 


BuildONE의 현재 버전은 0.1 입니다.


회사에서 프로젝트를 진행하면서 구축해놓은 빌드 시스템을


범용으로 제공해보고자 시작한 프로젝트입니다.


앞으로 추가될 기능들은 이렇습니다.


 - iOS 지원

 - 라이브러리 및 리소스 포함 기능

 - Native Extension 빌드 기능 (Java Android 프로젝트와 XCode 프로젝트에서 직접 ane 빌드하는 과정 포함)




BuildONE 의 목표


 - IDE 없이 메모장과 ant 만으로 Adobe AIR 개발할 수 있도록 

 - Windows, OS X 구분없이 동일한 소스코드로 동일한 빌드를 할 수 있도록

 - 게임 개발 이외에 필요한 복잡한 빌드 환경을 단순화하여 개발기간 단축

 - 빌드로 인한 진입장벽을 낮춰 누구든지 쉽게 개발할 수 있도록




BuildONE 다운로드


 - BuildONE 0.1 : Download (239MB, AIR 15 SDK가 포함되어 있습니다)




BuildONE이 여러분께 하고 싶은 말


 - 써보시면서 필요한 기능이나 개선점을 많이 많이 알려주세요. (이 글에 댓글로 달아주세요, 아무리 사소한 것이라도 좋습니다.)

 - 가능하다면 아무리 작은 앱이라도 만든 앱을 공유해주세요. 완성된 프로젝트는 스타터에게는 너무너무 중요한 자료입니다.

 - 어떻게 공유해야될지 모르겠다면 victim4@gmail.com 으로 설명과 함께 보내주시면 제가 올려드리겠습니다.



For the better.


Apple Push Notification Service 서버를 구현하려면


푸시 관련 인증서가 필요한데


SSL 인증서와 키 파일이 필요합니다.


하지만 그 전에 준비가 필요합니다.






1. Make sure to turn it on the "Push Notifications" service of your app id.


앱 아이디 설정에서 Push Notifications 서비스가 활성화되어 있는지 확인해야합니다.







2. Create a certificate for "Apple Push Notification service SSL"


새로운 인증서를 만드는데 Apple Push Notification service SSL 로 생성해줍니다.


생성한 후에 aps_development.cer 파일을 다운받아 Key Assistance에 추가해줍니다.






3. Export certificate with only "Apple Development IOS Push Services" (without select key)


인증서를 펼쳐보면 개인키가 포함되어 있는것이 보이는데


개인키를 선택하지 않은 상태로 export 하여 apns_cert_dev.p12 로 뽑아줍니다.







4. Export key with private key certification (select both certificate and private key)


이번에는 인증서와 개인키를 모두 잡고 export 하여 apns_key_dev.p12 로 뽑아줍니다.




5. Convert p12 file to pem file with openssl


openssl을 이용하여 각 p12 파일을 pem 파일로 변환해줍니다.


openssl pkcs12 -in apns_cert_dev.p12 -out apns_cert_dev.pem -nodes
openssl pkcs12 -in apns_key_dev.p12 -out apns_key_dev.pem -nodes






6. Use pem files with node.js "apn" plugin.


var APN = require( "apn" );

var apnsOption = {};

apnsOption.errorCallback = errorListener;

apnsOption.gateway = "gateway.push.apple.com";

apnsOption.cert = "apns_cert_dev.pem";

apnsOption.key = "apns_key_dev.pem";

apnsOption.passphrase = "????";


var apns = new APN.Connection( apnsOption );


var list = [ new APN.Device( "device token to recieved" ) ];


var message = new APN.Notification();

message.expircy = Math.floor( Date.now() / 1000 ) + 1 * 60 * 60;

message.badge = 1;

message.sound = "ping.aiff";

message.alert = "Hi there~";

message.payload = {}; // parameter to send.


apns.pushNotification( message, list );


위와 같이 apn 플러그인을 사용하여 푸시 메세지를 보낼 수 있다.




for each in이나 for in 구문은 많이들 써보셨을 겁니다.


오늘 우연히 if in 구문을 알게 됐는데 성능이 매우 좋네요~


뭐 사용법은 간단합니다.


보통 Object의 멤버인지 아닌지를 판단하려면 


if( obj[ prop ] != null )
     trace"has." );


또는


if( obj.hasOwnProperty( prop ) )
     trace"has." );


를 사용하죠.


하지만 if in 문을 사용하면 다음과 같습니다.


if( prop in obj )
     trace"has." );


성능도 매우 좋아서


if( obj[ prop ] != null )
 > 80 ms


if( obj.hasOwnProperty( prop ) )
 > 134 ms


if( prop in obj )
 > 49 ms


위 두 조건문 보다 월등히 빠른 속도를 보여줬습니다.


Object, Dictionary 에서 search가 가능합니다.


굿굿




p.s) 몰랐던 분 손~ ㅋㅋ (일단 저 먼저 손~)




For the better.

+ Recent posts