ADOBE

adobe 플래시 AIR IOS 개발, 등록 관련

AlrepondTech 2020. 9. 21. 02:33
반응형

 

 

 

 

 

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

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

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

 

 

 

 

 

 

출처: http://help.adobe.com/ko_KR/air/build/WS901d38e593cd1bac1e63e3d1295c1072d7-8000.html

모바일(또는 기타) 장치용 AIR 응용 프로그램을 만들기 위한 작업 과정은 일반적으로 데스크톱 응용 프로그램을 만들기 위한 작업 과정과 매우 비슷합니다. 작업 과정상의 주요 차이는 응용 프로그램을 패키지화, 디버깅 및 설치할 때 발생합니다. 예를 들어 AIR for Android는 AIR 패키지 포맷 대신 기본 Android APK 패키지 포맷을 사용합니다. 따라서 표준 Android 설치 및 업데이트 메커니즘도 사용합니다.

AIR for Android

다음은 Android용 AIR 응용 프로그램을 개발할 때 일반적으로 수행하는 단계입니다.

  • ActionScript 또는 MXML 코드를 작성합니다.
  • AIR 응용 프로그램 설명자 파일을 만듭니다(2.5 이상의 네임스페이스 사용).
  • 응용 프로그램을 컴파일합니다.
  • 응용 프로그램을 Android 패키지(.apk)로 패키지화합니다.
  • 장치 또는 Android 에뮬레이터에 AIR 런타임을 설치합니다(외부 런타임 사용 시. AIR 3.7 이상에서는 전용 런타임이 기본값).
  • 장치 또는 Android 에뮬레이터에 응용 프로그램을 설치합니다.
  • 장치에서 응용 프로그램을 실행합니다.

Adobe Flash Builder, Adobe Flash Professional CS5 또는 명령줄 도구를 사용하여 이러한 단계를 완료할 수 있습니다.

AIR 응용 프로그램을 완성하고 APK 파일로 패키지화한 후에는 Android Market에 전송하거나 다른 수단을 통해 배포할 수 있습니다.

AIR for iOS

다음은 iOS용 AIR 응용 프로그램을 개발할 때 일반적으로 수행하는 단계입니다.

  • iTunes를 설치합니다.
  • Apple iOS Provisioning Portal에서 필수 개발자 파일 및 ID를 생성합니다. 그 중 일부는 다음과 같습니다.
    • 개발자 인증서
    • 응용 프로그램 ID
    • 프로비저닝 프로파일
    프로비저닝 프로파일을 만들 때 응용 프로그램을 설치하려는 테스트 장치의 ID를 나열해야 합니다.
  • 개발 인증서 및 개인 키를 P12 키 저장소 파일로 변환합니다.
  • 응용 프로그램 ActionScript 또는 MXML 코드를 작성합니다.
  • ActionScript 또는 MXML 컴파일러를 사용하여 응용 프로그램을 컴파일합니다.
  • 응용 프로그램의 아이콘 아트 및 초기 화면 아트를 만듭니다.
  • 응용 프로그램 설명자를 만듭니다(2.6 이상의 네임스페이스 사용).
  • ADT를 사용하여 IPA 파일을 패키지화합니다.
  • iTunes를 사용하여 테스트 장치에 프로비저닝 프로파일을 배치합니다.
  • iOS 장치에 응용 프로그램을 설치하고 테스트합니다. iTunes 또는 USB상의 ADT(USB 지원: AIR 3.4 이상)를 사용하여 IPA 파일을 설치할 수 있습니다.

AIR 응용 프로그램이 완성되면 배포 인증서 및 프로비저닝 프로파일을 사용하여 다시 패키지화할 수 있습니다. 그러면 Apple App Store에 전송할 준비가 끝난 것입니다.

 

 

 

 

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

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

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

 

 

출처: http://helpx.adobe.com/kr/flash/using/packaging-applications-air-ios.html

Flash Professional에는 AIR for iOS에 대한 응용 프로그램을 제작하기 위한 지원이 포함되어 있습니다. AIR for iOS 응용 프로그램은 Apple iPhone 및 iPad에서 실행될 수 있습니다. iOS용으로 제작하는 경우 Flash는 FLA 파일을 기본 iPhone 응용 프로그램으로 변환합니다.

데스크톱 및 모바일 AIR 응용 프로그램의 하드웨어 및 소프트웨어 요구 사항에 대한 자세한 내용은 AIR 시스템 요구 사항을 참조하십시오.

iPhone용 응용 프로그램을 패키지화하는 방법에 대한 자세한 설명은 Packager for iPhone으로 Adobe AIR 응용 프로그램 만들기를 참조하십시오.

맨 위로

비디오 및 자습서

맨 위로

iOS 장치에 AIR 응용 프로그램 직접 배포

AIR 응용 프로그램 배포 작업 과정의 중요한 변경 사항에 따라 iOS 장치에 AIR 응용 프로그램을 직접 배포할 수 있게 되었습니다. 이전에 iOS 장치에 응용 프로그램을 배포하려면 iTunes에서 AIR 응용 프로그램을 호출해야 했습니다.

그러나 Flash Professional 을 사용하면 iTunes를 사용하지 않고 iOS에 AIR 응용 프로그램을 직접 배포할 수 있습니다. 이 기능을 사용하면 iOS용 AIR 응용 프로그램을 제작하는 데 필요한 시간이 단축되고, 생산성과 성능이 크게 향상됩니다.

참고: Flash Professional 이 설치된 컴퓨터에 iTunes를 설치해야 합니다.

iOS 장치에 직접 배포할 수 있도록 설정하려면 다음을 수행하십시오.

  1. Flash Professional이 설치된 컴퓨터에 iTunes가 설치되어 있는지 확인합니다.
  2. Flash Professional의 [속성] 패널에서 [대상] 드롭다운 옆에 있는 
     버튼을 클릭하여 AIR for iOS 설정 대화 상자를 표시합니다.

 

 

 

  1. 배포 탭에서 연결된 iOS 장치에 응용 프로그램 설치 옵션을 선택합니다.


 

  1. 제작을 클릭합니다.

맨 위로

기본 iOS 시뮬레이터를 사용하여 AIR 응용 프로그램 테스트 및 디버깅

Flash Professional 은 Apple Xcode와 통합되어 기본 iOS 시뮬레이터를 사용할 수 있도록 함으로써 iOS용으로 작성된 AIR 응용 프로그램을 테스트하고 디버그할 수 있습니다. iOS 시뮬레이터는 실제 장치(iPhone 또는 iPad)에 액세스할 수 없는 경우 매우 유용합니다. 기본 iOS 시뮬레이터를 사용하여 여러 장치(iPhone 및 iPad)에서 AIR 응용 프로그램을 테스트하고 디버그할 수도 있습니다. 그러나 iOS 시뮬레이터는 Macintosh 시스템에서 실행되는 Flash Professional CS6과만 통합될 수 있습니다.

iOS 시뮬레이터를 사용하려면 Flash Professional 에서 Xcode를 다운로드하여 설치해야 합니다. 자세한 내용은 iOS 시뮬레이터 지원을 위한 Xcode 설정을 참조하십시오.

iOS 시뮬레이터 지원을 위한 Xcode 설정

  1. http://developer.apple.com/kr에서 Xcode를 다운로드하여 설치하거나 Mac App Store에서 다운로드합니다.
  2. Flash Professional을 실행합니다.
  3. 새 AIR for iOS 문서를 작성하거나 기존 문서를 엽니다.
  4. 속성 패널에서 플레이어 대상을 AIR3.6 for iOS로 설정합니다.
  5. 대상 드롭다운 옆에 있는 
     버튼을 클릭하여 AIR for iOS 설정 대화 상자를 실행합니다.

 

 

 

  1. 일반 탭에서 iOS 시뮬레이터 SDK에 대한 정규화된 경로를 수동으로 입력하거나 해당 위치로 이동합니다. 예를 들면 다음과 같습니다.
Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk

참고:

Flash Pro에서는 AIR 응용 프로그램에 ANE 파일이 포함된 경우에만 iOS SDK에 대한 경로를 추가할 수 있습니다. [파일] > [ActionScript 설정] > [라이브러리 경로]로 이동하여 ANE 파일을 포함합니다.

 

 

 

  1. 배포 탭에서 인증서와 암호를 입력합니다. 또는 AIR 응용 프로그램에 대한 프로비저닝 프로파일을 입력합니다.

 

 

 

  1. 확인을 클릭하여 종료합니다.

이제 iOS 시뮬레이터를 사용하여 응용 프로그램을 테스트하고 디버그할 수 있습니다. 자세한 내용은 기본 iOS 시뮬레이터를 사용하여 AIR 응용 프로그램 테스트 및 기본 iOS 시뮬레이터를 사용하여 AIR 응용 프로그램 디버그를 참조하십시오.

기본 iOS 시뮬레이터를 사용하여 AIR 응용 프로그램 테스트

AIR 응용 프로그램을 테스트하기 전에 Xcode를 설정했고 iPhone SDK에 대한 경로를 설정했는지 확인하십시오. 자세한 내용은 iOS 시뮬레이터 지원을 위한 Xcode 설정을 참조하십시오.

  1. Flash Professional에서 [컨트롤] > [동영상 테스트] > [iOS 시뮬레이터에서]를 선택하여 iOS 시뮬레이터를 실행합니다. 그러나 AIR for iOS 설정 대화 상자에서 iOS 시뮬레이터 SDK 경로를 설정하지 않은 경우 해당 내용을 가리키는 오류가 발생합니다.
  2. iOS 시뮬레이터에서 해당 응용 프로그램으로 이동한 후 클릭하여 실행합니다.

기본 iOS 시뮬레이터를 사용하여 AIR 응용 프로그램 디버그

AIR 응용 프로그램을 디버그하기 전에 Xcode를 설정했고 iPhone SDK에 대한 경로를 설정했는지 확인하십시오. 자세한 내용은 iOS 시뮬레이터 지원을 위한 Xcode 설정을 참조하십시오.

  1. Flash Professional에서 [디버그] > [동영상 디버그] > [iOS 시뮬레이터에서]를 선택하여 iOS 시뮬레이터를 실행합니다. 그러나 AIR for iOS 설정 대화 상자에서 iOS 시뮬레이터 SDK 경로를 설정하지 않은 경우 해당 내용을 가리키는 오류가 발생합니다.
  2. Flash Professional에서 [디버그] > [원격 디버그 세션 시작] > [ActionScript 3.0]을 선택합니다.
  3. iOS 시뮬레이터에서 해당 응용 프로그램으로 이동한 후 클릭하여 실행합니다.

맨 위로

고해상도 Retina 디스플레이 지원 장치용 AIR 응용 프로그램 제작

Flash Professional 을 사용하면 고해상도 Retina 디스플레이에 대한 확장된 지원을 통해 iOS용으로 풍부한 AIR 응용 프로그램을 만들 수 있습니다. AIR 응용 프로그램을 제작할 때 고해상도 Retina 디스플레이를 선택할 수 있습니다.

  1. Flash Professional에서 AIR for iOS 문서를 만들거나 기존 문서를 엽니다.
  2. 속성 패널에서 대상 드롭다운 옆에 있는 
     버튼을 클릭하여 AIR for iOS 설정 대화 상자를 표시합니다.

 

 

 

  1. 일반 탭에서 해상도를 높음으로 설정합니다.

 

 

 

  1. 제작을 클릭합니다.

맨 위로

인터프리터 모드를 사용한 테스트 및 디버그

Flash Professional CC의 새로운 기능

인터프리터 모드에서는 iOS용으로 작성된 AIR 응용 프로그램을 신속하게 디버깅 또는 테스트할 수 있습니다. 인터프리터 모드를 선택하면 AIR 응용 프로그램이 설치될 때 ARM 코드로 변환되지 않습니다.

인터프리터 모드를 활성화하려면 다음을 수행하십시오.

  1. 속성 패널에서 대상 드롭다운 옆에 있는  버튼을 클릭하여 AIR for iOS 설정 대화 상자를 표시합니다.
  2. 배포 탭에서 iOS 배포 유형 옵션으로 인터프리터 모드에서 장치 테스트 또는 인터프리터 모드에서 장치 디버깅을 선택합니다.
  3. 확인을 클릭하여 종료합니다.

참고:

인터프리터 및 AOT(Ahead of Time) 모드를 모두 사용하여 ActionScript 바이트 코드를 포함하는 여러 SWF를 패키지화하고 로드할 수 있습니다. 자세한 내용은 이 블로그를 참조하십시오.

참고:

인터프리터 모드는 테스트 또는 디버깅용으로만 사용해야 합니다. 인터프리터 모드를 사용하여 생성한 AIR 설치 파일은 Mac App Store로 업로드할 수 없습니다.

맨 위로

USB를 통해 iOS에서 테스트 및 디버깅

Flash Professional CC의 새로운 기능

USB를 통해 연결된 iOS 장치에서 응용 프로그램을 테스트 및 디버그할 수 있습니다. 이는 Flash Professional CC 내에서 사용 가능한 Wi-Fi를 통해 원격 테스트 및 디버깅 기능에 추가됩니다. 그러나 USB를 통해 장치를 연결하면 수작업 단계의 수가 줄어들고 실제로 테스트 및 디버깅 프로세스 속도가 빨라져 테스트 및 디버깅 작업 과정이 간소화됩니다.

USB를 통한 테스트 또는 디버깅을 사용하도록 설정하려면 다음을 수행하십시오.

  • (디버깅) 디버그 > 동영상 디버그 > USB를 통해 장치에서를 선택합니다.
  • (테스트) 컨트롤 >동영상 테스트 > USB를 통해 장치에서를 선택합니다.

맨 위로

USB를 통해 여러 장치 연결

Flash Professional CC의 새로운 기능

Flash Professional에서는 여러 장치에서 응용 프로그램을 동시에 테스트할 수 있도록 지원합니다. USB를 통해 여러 장치를 연결하여 테스트할 수 있습니다.

이 기능을 활용하면 다양한 화면 크기, OS 버전 및 하드웨어 구성을 갖춘 여러 장치에 동시에 배포하는 방식으로 테스트를 수행할 수 있습니다. 이를 통해 다양한 장치에서 응용 프로그램 성능을 한 번에 분석할 수 있습니다.

  1. 속성 패널에서 대상 드롭다운 옆에 있는  버튼을 클릭하여 AIR for iOS 설정 대화 상자를 표시합니다.
  2. 배포 탭에 연결된 모든 장치 목록이 표시됩니다. 응용 프로그램을 제작할 장치를 선택합니다.
  3. 제작을 클릭합니다.

맨 위로

문제 해결

  • FLA 또는 SWF에 대해 지정된 파일 이름에 2바이트 문자가 포함된 경우 AIR for iOS 응용 프로그램 제작이 실패합니다.
  • AIR for iOS 응용 프로그램 제작 시 장치가 연결되어 있지 않으면 Flash Pro 작동이 중지됩니다

 

 

 

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

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

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

 

 

 

출처: http://sewonist.com/?p=669

Apple 에서 크로스컴파일에서 나온 App을 앱스토어에 등록 안 시켜 주기로 해서 사실 Flash 에서 만드는 App 은 큰 의미가 없습니다. 하지만 플래시를 업으로 하고 있는 사람으로서 있는 기능을 그냥 지나칠 수 없어서 최근 나온 Trial 로 App 만들기를 테스트 해보기로 맘 먹었습니다. 하지만 iPhone os settings 에서 가로 막혀 몇일을 고생했습니다. 우야꼬님의 결정적인 힌트로  힘들게 퍼블리싱에 성공 할 수 있었습니다. 세팅을 하기위해서는 인증서(*.p12)와 프로비젼(*.mobileprovision) 이 필요한데 이 파일들을 만드는 방법을 알아보도록 하겠습니다. (이하 경어체)

준비물

본 강좌는 애플개발자 등록이 되어 있으며 영문 OS를 기준으로 작성되었다.
Mac OS 10.6
Flash CS5
애플개발자 프로그램

생성되는 파일

 

 

최종적으로 필요한 파일은 4번과 5번이다.

 

인증서 만들기 (*.p12)

1. iPhone Provisioning Portal > Certificates 하단에 있는 링크를 통해 WWDR 파일을 다운받는다.

 

 

2.  다운받은 WWDR 을 Keychain Access 에 등록한다.

 

 

3. Request a Certificate From a Certificate Authority.. 를 실행한다.

 

 

4. 메일과 이름을 작성하고 옵션을 아래의 그림처럼 설정한다. 그럼 CertificateSigningRequest.certSigningRequest 이 저장되고 Keychain 에 공용,개인 key 가 자동으로 생성된다.

 

 

5. iPhone Provisioning Portal > Certificates 에 CertificateSigningRequest.certSigningRequest을 등록한다.

 

 

 

6. 등록된 개발자 Certificate 를 다운받는다

 

 

 

7. 다운받은 developer_identity.cer 를 키체인에 등록한다. 필자는 이 부분을 몰라서 아무리 인증서 파일을 만들어도 퍼블리싱이 되지 않았다. 기존의 App 개발자 분들은 자연스럽게 알 수 있는 부분일 수 있겠으나 제반지식이 없이는 쉽게 지나칠 수 있다.

 

 

8. 개인키에 인증서가 정상적으로 등록되었다. 이제 개인키를 export 하면 된다.

 

 

프로비젼 만들기 (*.mobileprovsion)

1. 개발용 Device 등록

 

 

2. App ID 생성. 한번 생성된 App ID 는 수정,삭제가 안되므로 신중하게 만들어야 한다.

 

 

3. 위에서 미리 설정한 Certificates, App ID, Devices 를 등록해서 새로운 Provisioning Profile 생성

 

 

4.생성된 flash_test.mobileprovision 파일을 다운받는다.

 

 

iPhone Settings

위에서 만든 Certificates.p12 와 flash_test.mobileprovision 를 등록하고 퍼브리싱을 테스트 한다.

 

 

- See more at: http://sewonist.com/?p=669#sthash.WjPmHUMB.dpuf

 

 

 

 

 

 

 

 

 

 

 

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

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

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

 

 

 

출처: http://yangc.com/blog/439

어도비 플래시 CS5에서 지원하는 Packager for iPhone을 이용하여 아이폰 순정어플을 만들 수 있습니다. 하지만 방법을 몰라 헤매시는 분들이 많을 듯 합니다.
어도비에서 가이드문서를 제공하니 참고하시면 도움이 될 듯 하네요.
PDF: http://help.adobe.com/ko_KR/as3/iphone/air_deviphoneapps.pdf

WEB: http://help.adobe.com/ko_KR/as3/iphone/index.html

애플 개발자 등록부터 인증서 발급, 플래시 CS5설치, 앱 개발, 등록까지 자세히 설명되어 있습니다.
Mac OS와 Windows사용자를 구분하여 설명해 줍니다.
이 문서에 따르면 맥 없이 윈도우즈에서도 개발과 등록까지 가능할 듯 한데 아직 검증은 못했습니다.
기존의 개발자 분들도 최적화에 대한 항목이 있으니 참고하시면 좋겠네요.


Update History
2011-04-10: 플래시CS5를 업데이트 하지 마세요. 업데이트 후 ipa파일 생성이 안되는 경우 있습니다. 업데이트 후 ipa파일 생성이 안된다면 삭제 후 재설치 하시면 됩니다.

 

 

 

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

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

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

 

 

 

출처: http://blog.naver.com/PostView.nhn?blogId=corinet&logNo=150138081137

 

[펌글] Adobe Flash Builder 4.5 - AIR로 iOS, 안드로이드 어플을 개발하자.  Flex/Flash / IT/컴퓨터/프로그램
2012/05/08 13:19
http://blog.naver.com/corinet/150138081137
전용뷰어 보기

http://blog.jidolstar.com/765 출처

Adobe Flash Builder 4.5 - AIR로 iOS, 안드로이드 어플을 개발하자.

2011/05/06 11:14

1 Commnet

Adobe CS 5.5가 출시 되었습니다. 동시에 Flash Builder 4.5와 Flash Catalyst CS 5.5도 함께 출시되었습니다. 개인적으로는 Flash Builder 4.5를 많이 기다렸습니다. 

Flash Builder 4.5의 공식 홈페이지는 다음과 같습니다.

Adobe Flash Builder 4.5 : http://www.adobe.com/products/flash-builder.html 

개인적으로 보는 Flash Builder 4.5의 가장 큰 변화는 모바일, Flex 4.5, PHP 개발지원등이 아닌가 싶습니다. 
특별히 기존 beta버전으로 공개되었던 Burrito에서는 안드로이드 기기 컴파일만 지원했는데 이번에는 iOS 어플 개발도 지원해줍니다. Flash IDE를 잘 사용할 줄 모르는 저로서는 가장 기다렸던 기능중에 하나입니다. 

다운로드는 다음 링크에서 Try버전으로 다운받을 수 있습니다. 

Adobe Flash Builder 4.5 다운로드 : http://goo.gl/hDi55

아래 화면은 Flash Builder 4.5를 설치하는 중간 화면입니다. AIR For Apple iOS Support가 눈에 띕니다. 

 


Flash Builder 설치후 실행한다음 ActionScript Mobile AIR Project를 만들면 다음과 같은 Setting 화면을 볼 수 있습니다. 기존에는 Android 어플만 개발이 가능했으나 이제 1개의 프로젝트로 아이폰, 안드로이드 개발이 모두 가능해졌습니다. (참고 : Flex Mobile AIR Project 에서는 여전히 Android 기반으로밖에 지원하지 않는 것 같았습니다.)

 



처음 실행해보면 아래와 같은 설정화면이 나옵니다. 이 부분은 Flash Builder Burrito를 이용해 Android 개발을 해본 사람은 친숙한 화면입니다. Apple iOS가 Target platform으로 등록되어 있음을 주목하세요. (참고 - Flex로 쉽게 모바일 어플을 만들자. - Adobe AIR Launchpad)

 

 


이제.... Flash Builder 에서도 iOS, Android 어플 개발이 모두 가능해졌군요. 더불어 테스트 해볼 것이 많아졌습니다.

참고로 Adobe CS 5.5는 현재 Try버전으로 다운받아 설치해 볼 수 있습니다. 다음 링크를 참고하세요.

Download a free trial of Creative Suite 5.5 Master Collection 

위 링크에서 다운로드 받아 설치하고 있는 화면입니다. Adobe AIR를 이용해 설치하네요. 

 



Adobe Flash CS 5.5, Flash Builder 4.5, Flash Catalyst CS 5.5 에 대해서 더욱 자세히 알고 싶다면 다음 링크를 참고하면 좋겠습니다.

Adobe Flash Builder 4.5 : http://help.adobe.com/en_US/flashbuilder/using/index.html
Adobe Flash Professional CS 5.5 : http://help.adobe.com/ko_KR/flash/cs/using/index.html 
Adobe Flash Catalyst CS 5.5 : http://help.adobe.com/ko_KR/flashcatalyst/cs/using/index.html 


좀더 학습을 원하시면 다음 링크도 유용합니다.

Adobe Flex 4.5 문서 : http://help.adobe.com/en_US/flex/using/index.htmlAdobe Flash Platform용 ActionScript 3.0 참조 설명서 :http://help.adobe.com/ko_KR/FlashPlatform/reference/actionscript/3/index.html
Adobe AIR : http://help.adobe.com/ko_KR/air/build/index.html 
Adobe 개발자 센터 : http://www.adobe.com/devnet.html 
Tour de Flex : http://www.adobe.com/devnet/flex/tourdeflex.html 

글쓴이 : 지돌스타(http://blog.jidolstar.com/765)

[출처] [펌글] Adobe Flash Builder 4.5 - AIR로 iOS, 안드로이드 어플을 개발하자.|작성자 모리아

 

 

 

 

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

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

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

 

 

 

출처: http://blog.naver.com/PostView.nhn?blogId=duckworst&logNo=130171172177

 

지난 2013년 5월 1일, 애플사에서 app-store에 app을 등록하기 위해서는 iPhone 5의 launch image를 적용해야 한다고 발표 했다.

 

지금껏 iOS 앱을  app-store에 한 번도 등록해 본 적이 없는 나로서는 이게 뭔 소리인가 싶었다.

아니, 사실 관심조차 없었다.

 

그러다가 애플사에 app을 등록할 일이 생기면서 문제는 발생했다.

우여곡절 끝에 app-store에 어플을 등록하고, '이제 됐구나' 했더니만, iTunes connector에는 'Invalid Binary'라는 빨간불이 활짝. 이제 뭥미... ㅡㅡ;

회신된 메일에는 다음과 같은 error 이유가 쓰여 있었다.

 

    iPhone 5 Optimization Requirement - Your binary is not optimized for iPhone 5. As of May 1,......

 

내용인 즉 iPhone 5용 image가 잘못 됐다는 건데, adobe cs6로 개발하던 나로서는 도대체 뭔소리 인지 알 길이 없었다.

오늘도 5시간일 허비하여 드디어 iTunes connector로부터 'Waiting for review'를 확인!

성공했다는 기쁨보다는 시간을 도둑맞았다는 허탈감만이 감돈다.  나와 같은 문제로 고민 할 여러 사람들의 시간을 지켜주기 위해 지금의 내용을 post로 정리해 공개한다.

 

아래 내용은 지난번에 이어 Adobe CS6를 사용하여 iOS app을 개발하고 app store에 등록하는 간략한 절차이다.  자세한 내용은 생략하고, 다른 곳에서 찾기 힘들고 주의해야 할 점만 강조하였다.

 

   1. Adobe CS6를 사용하여 iOS Air for iOS로서 app을 제작한다.

   2. 제작된 app을 publis 하여 ipa file을 생성한다.

      이 때, 아래와 같은 주의 사항이 있다.  정말 주의해야 한다!!!

          - 개발용으로 제작할 경우엔, certificate와 provisioning 모두 develop 용으로 설정해야 한다.

          - app-store용으로 제작할 경우엔, certificate와 provisioning 모두 distribute 용으로 설정해야 한다.

              * Window에서 certificate와 provisioning 제작 방법은 앞서의 post 참조할 것

          - 반드시 Air SDK를 3.6 version 이상으로 upgrade 해야 한다!!!  (중요!)

            이를 하지 않으면 (air 3.2 정도) publish 할 때 icon image와 관련해서 이상한 error가 발생한다. (이 문제 때문에 하루 이상의 시간을 날렸다 ㅠ.ㅠ)

          - http://itunesconnect.apple.com 를 통해 app 정보를 등록한다. (상세 내용은 다른 곳에 post 많아서 생략)

          - 앞서 생성한 ipa file을 반드시 Application Loader를 통해 app-store에 upload 한다. 

            열 받게도 Application Loader는 오직 Mac OS에서만 동작 한다.  그래서 app을 upload 하기 위해서는 Mac OS가 필요하다.  app은 최초 upload 할 때 사용한 Mac OS의 정보를 기록해 두기 때문에 이후 app을 갱신할 때에는 반드시 해당 Mac OS가 사용되야 한다고 한다. (또 시간 날림 ㅡㅡ;)

          - http://itunesconnect.apple.com 나 등록된 회신 e-mail에서 등록 결과를 확인 한다.

 

 

위 단계를 모두 성실히 진행했다면, 아마 나처럼 'iPhone 5 Optimization Requirement'

라는 회신을 받고, itunesconnect에서 'Invailid Binary' 라는 경고문구를 보았을 것이다.

 

바로 5월 1일에 발표 됐다는 iPhone 5 관련한 launch image 부재 때문이다.

Mac 개발자는 Xcode인지 뭔지에 관련 image 등록 UI가 있지만, Adobe CS6에는 없다.

그러나, 다음과 같은 방법으로 등록이 가능하다.

 

 

                                          <Adobe CS6의 AIR for iOS setting 화면>

 

위 화면에서와 같이 root 영역에 launch용 image들을 두고 include file을 하면 된다.

실제로 나 역시 이 과정으로 성공 했다!

 

이 때, launch image file명은 규칙이 있어서 반드시 지켜야 한다고 한다.

관련 자료는 다음을 참고할 것.

 

   https://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App-RelatedResources.html#//apple_ref/doc/uid/TP40007072-CH6-SW12

   https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/TranslateApp/TranslateApp.html%23//apple_ref/doc/uid/TP40006556-CH10-SW8

 

그리고, 또 한 가지.

launch용 image는 png여야 하는데, png로 맞췄음에도 적절한 image가 아니라는 error가 발생할 때가 있다고 한다. 

이는 optimization 때문이라는데, 이를 해결하기 위해 아래의 blog에서는 image optim 이라는 어플을 쓰라고 한다. (http://imageoptim.com)

 

    http://blog.naver.com/PostView.nhn?blogId=sabisung&logNo=80156581109

 

본인은 일단 무조건 적용은 했지만, 원래 문제가 없는데 쓸데 없이 적용한 것인지, 이를 적용해서 한 가지 문제는 예방 된 것인지는 모르겠다.

iOS 앱스토어로의 길은 멀고도 험하다..

 

 

 

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

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

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

 

 

출처: http://blog.jidolstar.com/776

Flash Builder 4.5.1에는 Flex SDK 4.5.1기반으로 개발 할 수 있으며 이 SDK는 Adobe AIR 2.6 을 지원하고 있다. 하지만 AIR 2.7기반으로 iOS 앱을 만들때 퍼포먼스 차이가 상당히 차이가 나므로 AIR 2.7로 업그레이드 시켜 개발하는 것이 더 좋을 것이다. 다음 글을 보면 AIR 2.7에 대해서 좀더 이해할 수 있을 것이다.

Adobe AIR 2.7 SDK 및 Runtime 정식 런칭. iOS환경에서 4배 빨라졌다! 

항상 그렇듯, 개발은 하고 싶은데 못하는 가장 큰 이유는 어떻게 하는지 몰라서이다. 그것을 찾기 위해서 자료를 찾고 책을 봐야하는데, 특히나 최신기능 및 툴이 나올때마다 또 연구에 대한 압박이 있다. 데모 및 예제들은 수도없이 나오는데... 근데 그거 어떻게 개발하는데에 대한 답변은 찾기가 쉽지 않은게 사실이다. 이 부분에 대해서 약간의 수고를 덜어주고자 이 글을 작성했다. ^^

1. Flash Builder 4.5.1로 설치/업그레이드 하기 
AIR 2.7을 사용하기 전에 Flash Builder 4.5를 4.5.1로 업그레이드 하길 바란다. 

Flash Builder 4.5.1로 업그레이드 하는 방법은 다음과 같다.

1. Flash Builder 4.5를 다운로드 받아 설치한다. 
Adobe Flash Builder 4.5 Premium Try 버전을 다운로드 받는다. 

2. (현재는 이 부분이 필요없음)Flash Builder 4.5를 4.5.1로 업데이트 한다.
Help > Search For Flash Builder Updates... 로 업데이트 하면 되겠다. 
또는 Adobe Flex Support Center 에서 직접 다운받아 Updater를 설치한다. 

참고로 Flash Builder 4.5.1로 설치후 Eclipse 플러그인으로 설치를 원하시는 분은 다음글을 참고하길 바란다. 

Eclipse Indigo에 Flash Builder 4.5.1 plug-in 설치 http://blog.jidolstar.com/774


2. Flash Builder 4.5.1에 AIR 2.7 SDK 설치 

윈도우 기준으로 설명하겠다. Mac에서는 파일덮어쓰기 개념이 윈도우와는 다르므로 아래글을 참고하면 되겠다. 

Mac에서 AIR 2.0 Beta 개발환경 만들기 http://blog.jidolstar.com/626 

1. AIR 2.7 SDK을 다운로드 받고 압축을 풀자. 
http://www.adobe.com/products/air/sdk/
2. {Flash Builder 4.5 설치경로}/sdks/4.5.1 을 복사해서 같은 폴더에 붙어놓자.
3. 복사한 폴더의 이름을 "4.5.1 with AIR 2.7" 로 바꾸자.
4. 받은 AIR 2.7 SDK 안에 내용을 전부 복사해서 "4.5.1 with AIR 2.7" 내부에 덮어쓰자. (맥 사용자의 경우에는 덮어쓰면 폴더가 대치되므로 이 방법으로 하면 안됩니다.)
5. 이것으로 AIR 2.7을 개발할 수 있는 Flex 4.5.1 SDK가 만들어진 것이다. 


3. Flash Builder 4.5.1에서 AIR 2.7 SDK 개발환경 만들기 

Flash Builder 4.5.1는 기본적으로 Flex 4.5.1을 기본 SDK로 설정되어 있다. 앞서 AIR 2.7을 지원하는 Flex 4.5.1 SDK를 사용하기 위해서 Flash Builder 에서 간단한 설정이 필요하다. 

1. Flash Builder 4.5.1을 실행한다.
2. 메뉴에서 Window > Preperences 로 들어간다. 
3. 아래 화면처럼 Preperences 설정창에서 Flash builder > Installed Flex SDKs를 선택한다. 현재 Flex 4.5.1이 기본 SDK로 설정되어 있음을 알 수 있다. Add 버튼을 누른다.

 

4. Browse... 버튼을 눌러 "{Flash Builder 4.5 설치폴더}/sdks/4.5.1 with AIR 2.7"를 찾아 Flex SDK location을 입력하고 Flex SDK name은 Flex 4.5.1 with AIR 2.7 로 수정하자. 그리고 OK를 누른다. 

 


5. 다음 화면처럼 Flex 4.5.1 with AIR 2.7이 추가되었다. 이것을 기본 Flex SDK로 삼기 위해 Flex 4.5.1 with AIR 2.7을 체크하자. 그리고 OK버튼을 누른다. 

 

이것으로 Flash Builder 4.5 환경에서 AIR 2.7 SDK 기반으로 개발할 수 있는 환경이 만들어졌다. 


4. Flash Builder 4.5.1에서 AIR 2.7 기반 Mobile Project 만들기

1. 메뉴에서 File > New > Flex Mobile Project를 선택한다.
2. Project Name을 입력한다. Flex SDK version이 기본으로 Flex 4.5.1 with AIR 2.7로 설정되어 있다. 앞서 설정한 탓이다. 만약 다른 SDK를 사용하고 싶으면 Use a specific SDK로 바꾸면 되겠다. Next 버튼을 누른다.

 

3. Target platforms와 각종 설정을 한다. 아래 화면처럼 Flash Builder 4.5를 이용해 iOS, BlackBerry, Android 어플을 1개의 프로젝트로 모두 개발할 수 있음을 알 수 있다. Finish를 눌러 프로젝트를 생성하도록 하자. 필요하다면 Next 버튼을 눌러 Server Setting 및 Build Paths를 설정하면 되겠다. 

 


4. Package Explorer에 아래처럼 MyMobileApp 프로젝트가 생성되었다. 여기 여기서도 Flex 4.5.1 with AIR 2.7을 사용하고 있음을 알 수 있다. 

 

5. MyMobileApp-app를 두번클릭해 열어보자. 어플의 xmlns 네임스페이스가 2.7로 잡혀있다. 만약 기존에 AIR 프로젝트나 모바일 프로젝트를 만들어 이 부분에서 에러가 난다면 2.6에서 2.7로 바꾸면 문제없이 컴파일 된다.

 


6. MyMobileApp 프로젝트가 선택된 상태에서 Run > Run을 해보자. Run Configuration을 설정창이 뜬다. 
이창은 어플을 실행할때 어떤 장치에서 실행해줄지 결정해준다. iOS, Android만 다뤄보면 일단 창내에 Name에 MyMobileApp(iOS)라고 입력하고 Target platform을 Apple iOS로 선택하자. Launch method는 2종류가 있다. 실뮬레이션하고 싶다면 On desktop을 선택한다음 Apple iPhone 4를 선택하자.(어떤것을 선택해도 상관없다. 단지 실행되는 ADL의 해상도만 다르다.) 만약 기기에 직접 쓰고 실행하고 싶다면 On device를 선택하면 되겠다. 이 경우에는 몇가지 더 설정해야한다. 
Apply 버튼을 눌러 적용해두자. 만약 Run버튼을 누르면 ADL이 실행될 것이다.

 


Android도 추가해보자. 아래 화면처럼 Mobile Application내에 MyMobileApp(iOS)를 선택하고 마우스 오른쪽 버튼을 눌러 컨텍스트 메뉴에 Duplicate하도록 한다.

 


이번에는 MyMobileApp(Android)로 바꾸고 Target platform을 Google Android, Launch method를 On desktop으로 선택한다음 원하는 기기를 선택한다. Apply를 눌러 적용시키자. 

 

 

 


이제 원하는 Configuration을 선택해서 Run버튼을 눌러 실행하면 된다. 

7. Run Configuration을 통해 실행하면 아래처럼 실행아이콘 옆에 화살표를 선택하면 최근 실행된 앱이 있으므로 빠르게 테스트 해볼 수도 있겠다. 

 






5. 디버깅 및 배포 

지금까지 앱를 만들고 Desktop에서 ADL 기반으로 시뮬레이션하는 방법을 알 수 있었다. 하지만 제작한 어플을 디버깅 및 배포하지 못하면 아무 소용이 없을 것이다. 디버깅의 경우 안드로이드에서는 직접 디바이스에 연결하여 직접 디버깅을 할 수 있기 때문에 의외로 쉽다. 하지만 iOS 어플의 경우 애플 개발자로 등록되어야 하고 애플에서 제공하는 인증서를 p12로 변환한 파일과 프로비저닝 파일을 가지고 ipa을 만들어 itunes를 통해 아이폰/아이패드등에 배포후 디버깅이 가능하다. iOS 어플의 태생적인 문제때문에 이 방법외에는 없다. 결국 디바이스 디버깅 및 테스트는 안드로이드에서 하다가 최종적으로 아이폰에서 진행해보는 것이 좋겠다. 


배포의 경우 안드로이드는 인증서만 만들고 이것을 가지고 apk를 만들면 된다. 그리고 안드로이드 마켓을 통해 버전을 맞추어 배포하면 된다. 아이폰의 경우 개발자 인증서와 AppStore 배포를 위한 프로비저닝 파일이 있어야 배포용 ipa로 만들 수 있다. 하지만 배포는 윈도우 환경에서는 불가능하다. 왜냐하면 애플에서 제공하고 있는 배포방식을 따르지 않으면 배포가 불가능하기 때문이다. 그래서 ipa를 배포하기 위해 맥용 개발툴인 Xcode와 함께 있는 ApplicationLoader라는 프로그램을 통해서만 배포할 수 있다. 

디버깅 및 배포를 위해 다음 몇가지 정보를 참고하면 좋겠다. 

맥이 있는 유저라면 인증서를 p12로 만드는데 키체인이라는 프로그램을 이용하면 된다. 하지만 맥이 없다면 다른 방법으로 p12 파일을 만들 수 있는데, 다음 링크를 참고하길 바란다. 

- 개발자 인증서를 p12 파일로 변환하는 방법:  http://goo.gl/DLpor 

다음글로부터  안드로이드 기반에서 디바이스를 연결에 개발하는 방법을 알 수 있다.
- Flex로 쉽게 모바일 어플을 만들자. - Adobe AIR Launchpad  : http://blog.jidolstar.com/717 

우야꼬님의 다음 글로부터 아이폰 환경에서 개발/배포하는 방법을 알 수 있다.
- Flash Builder 4.5로 iPhone4용 듀얼 브라우져 앱 만들기 : http://goo.gl/p3n2P 

아래 링크는 우야꼬 님이 만든 Flash 앱입니다. Flash Builder가 아닌 Flash CS 5.5 기반에서 만들어 배포한 것이다.
-  아쿠아알리미 - Flash로 아이폰 앱 안드로이드 앱을 동시에 개발했습니다 : http://goo.gl/iZWVp

아이폰용 어플을 개발하기 위한 전반적인 지식을 습득하기 위해 다음 링크를 참고한다.
- Packager for iPhone : http://goo.gl/qWFgS


6. Flash Platform 환경에서 모바일 개발을 위한 다양한 정보 

Flash Platform 환경에서 개발을 하기 위한 정보는 이미 많이 있다. 기본적으로 Adobe의 개발자 센터의 모바일 파트에 가면 다양한 사례와 개발 방법을 학습할 수 있다.

Mobile and Devices Developer Center : http://www.adobe.com/devnet/devices.html

그중에 다음 링크들을 참고하면 학습에 도움이 될 것이다. 

Reference
Flex 4.5 Mobile Apps : http://help.adobe.com/en_US/flex/mobileapps/index.html 
ace

Beginning 

- Build your first mobile Flex Application - Twitter Trends : http://goo.gl/fEBnE 

- Flex Test Drive for Mobile  : Build a mobile application in an hour #1: http://goo.gl/DCLg 

- Flex Test Drive for Mobile  : Build a mobile application in an hour #2 : http://goo.gl/pfRRq 

- Flex Test Drive for Mobile  : Build a mobile application in an hour #3 : http://goo.gl/hxuyz 

- Flex Test Drive for Mobile  : Build a mobile application in an hour #4 : http://goo.gl/x8eus 

- Flex Test Drive for Mobile : Debug and package the application #1 : http://goo.gl/XCMHO 

- Flex Test Drive for Mobile : Debug and package the application #2 : http://goo.gl/j3ERb 

- Flex Test Drive for Mobile: Add application functionality #1 : http://goo.gl/1dXUH 

- Flex Test Drive for Mobile: Add application functionality #2 : http://goo.gl/4yoTB 

 

Flex Mobile skins 

- Part1 : Optimized skinning basics : http://goo.gl/0VAjD 

- Part2 : Handling different pixel densities : http://goo.gl/MGbyb 
- Part3 : Multiplatform development :  http://goo.gl/E7Jzr

- (동영상)Default Flex Mobile Theme vs. iOS Theme Concept : http://goo.gl/DJcjP 

- Support multiple screen sizes and DPI values in a mobile application : http://goo.gl/9A1iZ 

 

오픈소스

- Flexpad : http://code.google.com/p/flexpad/

 

배포관련 

- (동영상)Build iOS Applications using Flex and Flash Builder 4.5 : http://goo.gl/MoQyv 

- Packager for iPhone : http://goo.gl/qWFgS


7. 정리하며 
Flash builder 4.5.1 환경에서 AIR 2.7 SDK를 이용해 아이폰 및 안드로이드용 앱을 개발하고 배포하는 방법에 대해서 전반적으로 소개했다. Flash로 앱을 만든다는 것의 큰 장점은 아무래도 기존 Flash 개발자가 언어의 제약없이 기존 개발경험으로 개발할 수 있다는 점이다. 수개월 동안 Xcode 에서 아이폰 앱 개발을 한 경험으로 비춰봤을때 안드로이드, 아이폰용 앱을 한번에 동시에 개발할 수 있다면 정말 좋겠다는 생각을 많이 가졌다. Adobe Flash Platform을 이용해 사실 이러한 것들이 가능한 것이다. 그러나 분명한 것은 장점이 있으면 제약점도 있다. 각각의 OS는 특색이 있기 때문에 각 OS에 특정적인 기능은 수행하는 것은 불가능하다. 가령 안드로이드의 C2DM이나 iOS의 APNS와 같은 Push서비스는 각 플랫폼에 의존적이다. 위젯기능도 안드로이드 의존적이기 때문에 당연히 이런 것도 개발할 수 없다. 안드로이드용으로 배포할때는 프로요이상이어야 하며 AIR가 설치되어야만 한다. 이러한 제약점과 한번의 개발로 여러 플랫폼에 배포할 수 있다는 장점을 명확히 알고서 개발하는 것은 매우 중요하다. 


추가사항
이 글을 페이스북에 공유하면서 얻은 정보입니다. 아이폰 개발을 지금까지 하면서 이걸 모르고 있었다니... ㅎㅎㅎ 김병규님께 감사드린다는... 이래서 열심히 활동해야한다는 ^^




글쓴이 : 지돌스타(http://blog.jidolstar.com/776

 

 

 

 

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

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

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

 

 

 

출처; http://2rang.tistory.com/m/post/view/id/75

 

[AIR3.3] Using new Simulator Support feature for AIR Mobile iOS - 1.

꽃녀 2012/06/02 08:39 | NEW FEATURE

댓글쓰기

AIR3.3 에서 눈에 띄는 특징중 하나가 바로 iOS Native Simulator 를 지원하는 기능이 추가된 것입니다.

 

기존에 Flash Builder 4.6 에서 지원하는 Simulator 를 사용하는 것에 비해 어떤 이점이 있는지는 아래에 설명해 놓았습니다.

 

1. Flash Builder 4.6 에서 Simulator 를 사용하여 테스트 하려면, Apple 개발자 등록이 되어 있어야 하고, 승인된 p12 인증서와 Provisioning Profile 이 있어야 가능했습니다.

하지만, Native Simulator 지원으로 이제 Apple 개발자 등록 없이, 개발자 승인되지 않은 p12 파일만 있으면 AIR 애플리케이션을 테스트 하는게 가능해진 것입니다.

쉽게말해, Apple 개발자 등록 없이 AIR 앱을 Simulator 에서 테스트 할 수 있게 되었다는 것입니다. (물론 기기 테스트는 Apple 개발자에 등록되어 있어야 가능합니다.)

(참고 : 개발자 승인되지 않은 p12 인증서 만들기 - http://dimdim.tistory.com/51)

 

2. Flash Builder 4.6 에서 Simulator에서는 Native Extension 을 포함하여 테스트 할 수 없습니다. 따라서  Native Extension 을 테스트 하기 위해선 기기 테스트밖엔 방법이 없는 것이죠.

하지만, Native Simulator 를 사용하면 Native Extension 을 포함하여 디버깅을 할 수 있습니다. 

(Native Extension 의 디버그 로그는 찍을 수 없습니다. 디버깅을 위해선 http://2rang.tistory.com/72 을 참고)

 

3. 아무래도 출처를 알 수 없는 Flash Builder 4.6 의 Simulator 를 사용하는 것 보단 Native Simulator 를 사용하는 것이 좀 더 믿음이 가지 않을까요.

(하지만 실제 앱 개발시에 Flash Builder 4.6 의 Simulator를 사용해도 별다른 큰 문제점은 느끼지 못했습니다.) 

 

이렇게 Native Simulator 를 사용하면 얻는 이점에 대해 알아 보았는데요.

 

그럼 실제 사용방법에 대해서도 정리 해 보겠습니다.

 

사실 AIR 3.3 Release Note 문서(Beta3) 에 가이드를 따라서 해 보시면, 무리 없이 할 수 있을 것입니다.

(하지만, Native Extension 을 포함하여 Simulator 를 동작하는 부분에서는 조금 애를 먹었습니다. : 이 포스팅에선 다루지 않습니다.)

 

0. 진행 순서

 

iOS Simulator 를 위한 ipa 컴파일 → Simulator 에 ipa Install → Simulator 에 Install 한 앱 Launch

 

 

1. iOS Simulator 를 위한 ipa 컴파일

 

iOS Simulator 를 사용하기 위해선 ipa 파일을 새로운 설정으로 컴파일 해야 합니다.

 

iOS Simulator 는 x86 architecture 를 기반으로 하고 있습니다. 따라서, ADT 에서 새로운 Compile Target 이 2가지가 추가 되었습니다.

ipa-test-interpreter-simulator : x86 architecture 로 Fast Mode 컴파일

ipa-debug-interpreter-simulator : 디버그를 위한 x86 architecture 로 Fast Mode 컴파일

 

Interpreter Target

adt -package -target ipa-test-interpreter-simulator -storetype pkcs12 -keystore Certificates.p12 -storepass password Sample_ipa_name sample_ipa-app.xml sample_ipa.swf

 

Debug Target

adt -package -target ipa-debug-interpreter-simulator -connect -storetype pkcs12 -keystore Certificates.p12 -storepass password Sample_ipa_name sample_ipa-app.xml sample_ipa.swf

 

 

2. Simulator 에 ipa Install

 

adt -installApp -platform ios -platformsdk (path to sdk like /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk) -device ios-simulator -package Sample_ipa_name.ipa

 

 

3. Simulator 에 Install 한 앱 Launch

 

adt -launchApp -platform ios -platformsdk (path to sdk like /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk) -device ios-simulator -appid Sample_ipa_name

 

 

이런 순서대로 하시면, 순조롭게 Native Simulator 에서 AIR Mobile App 을 테스트 하실 수 있을 것입니다.

 

참고로,

제가 사용했던 코드도 올려봅니다.

 

# IPA Compile for Native Simulator /Applications/Adobe\ Flash\ Builder\ 4.6/sdks/4.6.0_AIR3.3_Beta_p3/bin/adt -package -target ipa-debug-interpreter-simulator -connect -storetype pkcs12 -keystore /Users/FlowerGirl/FloweriPhone/my_certification.p12 -storepass xxxx BabyTest BabyTest-app.xml BabyTest.swf assets Default.png echo "=== Compile .ipa ===" # Uninstall App /Applications/Adobe\ Flash\ Builder\ 4.6/sdks/4.6.0_AIR3.3_Beta_p3/bin/adt -uninstallApp -platform ios -platformsdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk -device ios-simulator -appid net.daum.babytest.debug echo "=== Uninstall App " # Install App /Applications/Adobe\ Flash\ Builder\ 4.6/sdks/4.6.0_AIR3.3_Beta_p3/bin/adt -installApp -platform ios -platformsdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk -device ios-simulator -package BabyTest.ipa echo "=== Install App " # Launch App /Applications/Adobe\ Flash\ Builder\ 4.6/sdks/4.6.0_AIR3.3_Beta_p3/bin/adt -launchApp -platform ios -platformsdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk -device ios-simulator -appid net.daum.babytest.debug echo "=== Launch App "

하지만..

여기까진.. Native Extension 이 포함되지 않은 AIR 프로젝트라..

순조롭게 따라할 수 있었는데요..

 

Native Extension 이 포함된 AIR App 을 Native Simulator 에서 테스트하는 부분에서 상당한 삽질을 하였습니다. 의외로 간단한 데에서 문제가 해결 되었는데요.

 

이 부분은 다음 포스팅에서 다루도록 하겠습니다.

 

 

 

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

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

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

 

 

 

출처: https://knowledge.tapjoy.com/ko/integration/adobe-air-plugin

 

Adobe AIR 플러그인


iOS와 Android용 Adobe AIR 플러그인 다운로드 링크:

https://www.tapjoy.com/sdk

 

iOS 이용 안내

Android 이용 안내

Namespace Conflicts 주의 사항

방향전환(Changing Orientation)

 


 

iOS 이용 안내

 

 

Flash Builder 설정하기

프로젝트 내 SWC 라이브러리 추가 방법:

1. Flash Builder에서 프로젝트를 불러옵니다.

2. "Project->Properties"를 선택합니다.

3. "ActionScript Build Path" 페이지를 선택합니다.

4. "Library Path" 탭을 선택합니다.

5. "Add SWC..." 버튼을 클릭합니다.

6. "Browse..." 버튼을 클릭합니다.

7. "TapjoyExtension.swc"* 의 파일 위치를 선택한 후, Open을 클릭합니다.

8. TapjoyExtension list 아이템을 확장합니다.

9. "Link Type"을 더블클릭합니다.

10. 선택 메뉴에서 "Link Type"를 "External"로 변경합니다.

11. 모든 대화상자 확인 후 프로젝트를 저장합니다.

 

프로젝트 내 ANE 라이브러리 추가 방법:

1. Flash Builder에서 프로젝트를 불러옵니다.

2. "Project->Properties"를 선택합니다.

3. "ActionScript Build Path" 페이지를 선택합니다.

4. "Native Extensions" 탭을 선택합니다.

5. "Add ANE..." 버튼을 클릭합니다.

6. "Browse..." 버튼을 클릭합니다.

7. "TapjoyExtension.ane"* 의 파일 위치를 선택한 후, Open을 클릭합니다.

8. 한 단계 뒤로 돌아가서, 왼쪽에 있는 "ActionScript Build Packaging" 탭을 선택합니다.

9. "Apple iOS" 카테고리을 선택하고, "Enable this target platform"에 체크 표시가 되어 있는 지를 확인합니다.

10. "Digital Signature" 아래에서, 프로젝트 인증서 (certificate) 및 프로비저닝 파일 (provisioning profile)을 설정합니다. 

11. "Native Extension" 탭을 선택합니다.

12. TapjoyExtension.ane의 "package" 옵션에 체크 표시가 되어 있는 지를 확인합니다.

13. "Apple iOS SDK" 텍스트 필드에서, 회원님의 iOS SDK 경로를 입력합니다. 

     **예: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/ 

14. 모든 대화상자 확인 후 프로젝트를 저장합니다.

 

어플리케이션 코드 내 Tapjoy AIR 플러그인 적용하기

1. 사용할 패키지 파일을 불러옵니다. 

import com.tapjoy.extensions.TapjoyAIR; import com.tapjoy.extensions.TapjoyLog; import com.tapjoy.extensions.TapjoyDisplayAdEvent; import com.tapjoy.extensions.TapjoyEvent; import com.tapjoy.extensions.TapjoyPointsEvent;

2. requestTapjoyConnect를 호출 합니다. 해당 메서드는 다른 모든 탭조이 메서드 전에 적용합니다. 

TapjoyAIR.requestTapjoyConnect("YOUR_TAPJOY_APP_ID_HERE", "YOUR_TAPJOY_SECRET_KEY_HERE"); extension = TapjoyAIR.getTapjoyConnectInstance();

3.  등록하고 싶은 이벤트를 각각을 위한 event listener를 등록합니다. 

extension.addEventListener(type, function, ...);

 

**TapjoyEvent, TapjoyDisplayAdEvent, TapjoyPointsEvent에서 현재 정의된 Tapjoy AIR events를 검색하실 수 있습니다.

 

4.  모든 Tapjoy AIR 메서드는 TapjoyAIR 클래스에 정의되어 있습니다. 세부 사항은 문서와 샘플 애플리케이션 참조 바랍니다.

 

안드로이드 이용 안내

 

Flash Professional 설정하기

1. AIR 프로젝트에 있는 빌드 폴더 내 확장판을 위한 새로운 폴더를 생성합니다

2. 아카이브에서 "TapjoyExtension.ane"와 "TapjoyExtension.swc"파일을 방금 생성하신 폴더로 옮깁니다.

3. AIR 3.0+을 Flash Professional에 덮어쓰기 합니다. (상세 내용 보기)

4. Flash Professional에서 프로젝트를 불러옵니다.

5. "File->ActionScript Settings..."를 클릭합니다.

6. "Library Path" 탭을 선택합니다.

7. "+" 아이콘을 클릭해서 새로운 경로를 추가합니다.

8. "f" 아이콘을 클릭해서 SWC 파일을 설정합니다.

9. "TapjoyExtension.swc"의 파일 위치 선택 후, Open을 클릭합니다.

10. TapjoyExtension list 아이템을 확장합니다.

11. "Link Type"을 더블클릭합니다.

12. 선택 메뉴에서 "Link Type"를 "External"로 변경합니다.

13. 모든 대화상자 확인 후 프로젝트를 저장합니다.

**com.tapjoy.extensions 불러오기를 실행할 시, 어플리케이션 코드 내에서 확장팩 사용이 가능합니다. Flash Builder를 사용하고 있을 시,  library references에 확장팩을 추가할 수 있습니다.

 

Flash Builder 설정하기

프로젝트 내 SWC 라이브러리 추가 방법:

1. Flash Builder에서 프로젝트를 불러옵니다.

2. "Project->Properties"를 선택합니다.

3. "ActionScript Build Path" 페이지를 선택합니다.

4. "Library Path" 탭을 선택합니다.

5. "Add SWC..." 버튼을 클릭합니다.

6. "Browse..." 버튼을 클릭합니다.

7. "TapjoyExtension.swc"* 의 파일 위치를 선택한 후, Open을 클릭합니다.

8. TapjoyExtension list 아이템을 확장합니다.

9. "Link Type"을 더블클릭합니다.

10. 선택 메뉴에서 "Link Type"를 "External"로 변경합니다.

11. 모든 대화상자 확인 후 프로젝트를 저장합니다.

 

프로젝트 내 ANE 라이브러리 추가 방법:

1. Flash Builder에서 프로젝트를 불러옵니다.

2. "Project->Properties"를 선택합니다.

3. "ActionScript Build Path" 페이지를 선택합니다.

4. "Native Extensions" 탭을 선택합니다.

5. "Add ANE..." 버튼을 클릭합니다.

6. "Browse..." 버튼을 클릭합니다.

7. "TapjoyExtension.ane"* 의 파일 위치를 선택한 후, Open을 클릭합니다.

8. 한 단계 뒤로 돌아가서, 왼쪽에 있는 "ActionScript Build Packaging" 탭을 선택합니다.

9. "Google Android" 카테고리를 선택합니다.

10. "Native Extension" 탭을 선택합니다.

11. TapjoyExtension.ane의 "package" 옵션에 체크 표시가 되어 있는 지를 확인합니다.

11. 모든 대화상자 확인 후, 프로젝트를 저장합니다.

 

FLASH_GENERATED_XML-app.xml 파일 편집하기

안드로이드 OS에서 Tapjoy AIR 플러그인이 작동하기 위해서는, 

FLASH_GENERATED_XML-app.xml파일을 수정하셔야 합니다.

1. YOUR_PROJECT-app.xml라는 이름으로 생성된 xml 파일을 불러옵니다.

2. <application></application> 태그에 아래와 같은 내용을 추가합니다.

<extensions> <extensionID>com.tapjoy.extensions</extensionID> </extensions>

3. <manifestAdditions></manifestAdditions> 태그에 아래와 같은 내용을 추가합니다.

<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <application> <activity android:name="com.tapjoy.TJCOffersWebView" android:configChanges="keyboardHidden|orientation" /> <activity android:name="com.tapjoy.TapjoyFeaturedAppWebView" android:configChanges="keyboardHidden|orientation" /> <activity android:name="com.tapjoy.TapjoyVideoView" android:configChanges="keyboardHidden|orientation" /> </application>

 

주의 사항

현재 Flash Professional에 native 확장팩으로 AIR 프로젝트를 구축할 수 있는 방법이 없기 때문에 

대체할 명령 코드인 ADT command를 사용해야 합니다. (AIR 3.0 이상 SDK에서 가능)

안드로이드 OS를 위한 ADT에서 다음과 같이 프로젝트를 설정합니다:

adt -package -target apk -storetype pkcs12 -keystore CERTIFICATE_NAME.p12 APK_NAME FLASH_GENERATED_XML-app.xml MAIN_SWF.swf SPACE_DELIMITED_LIST_OF_INCLUDED_FILES -extdir FOLDER_WITH_EXTENSION_ANE

위 코드가 바로 작동하지 않거나 에러가 발생할 시, PATH 시스템 환경 변수의 시작 부분에 ADT 경로를 추가합니다.

  • CERTIFICATE_NAME.p12: 어플리케이션을 서명할 인증서입니다.
  • APK_NAME: ADT에서 생성한 output apk의 이름입니다.
  • FLASH_GENERATED_XML-app.xml: edits로 퍼블리싱할 시 Flash로 생성되는 -app.xml 파일의 이름입니다.
  • MAIN_SWF.swf: 퍼블리싱할 시 Flash에서 생성되는 메인 swf 파일의 이름입니다.
  • SPACE_DELIMITED_LIST_OF_INCLUDED_FILES: 외부 SWF 파일을 포함한 기타 모든 리소스 목록입니다.
  • FOLDER_WITH_EXTENSION_ANE: native extension ANE 파일로의 경로입니다.

 

어플리케이션 코드 내 Tapjoy AIR 플러그인 사용하기

1. 사용할 패키지 파일을 불러옵니다. 

import com.tapjoy.extensions.TapjoyAIR; import com.tapjoy.extensions.TapjoyLog; import com.tapjoy.extensions.TapjoyDisplayAdEvent; import com.tapjoy.extensions.TapjoyEvent; import com.tapjoy.extensions.TapjoyPointsEvent;

2. requestTapjoyConnect를 호출 합니다. 해당 메서드는 다른 모든 탭조이 메서드 전에 적용합니다. 

TapjoyAIR.requestTapjoyConnect("YOUR_TAPJOY_APP_ID_HERE", "YOUR_TAPJOY_SECRET_KEY_HERE"); extension = TapjoyAIR.getTapjoyConnectInstance();

3.  등록하고 싶은 이벤트를 각각을 위한 event listener를 등록합니다. 

extension.addEventListener(type, function, ...);

 

**TapjoyEvent, TapjoyDisplayAdEvent, TapjoyPointsEvent에서 현재 정의된 Tapjoy AIR events를 검색하실 수 있습니다.

 

4.  모든 Tapjoy AIR 메서드는 TapjoyAIR 클래스에 정의되어 있습니다. 세부 사항은 문서와 샘플 애플리케이션 참조 바랍니다.

 

Namespace Conflicts 주의 사항

namespace conflicts 에러를 사전에 막기 위한 매니저를 생성하실 수 있습니다.  

샘플 프로젝트 폴더 TapjoyManager.as에서 적용 예시를 찾을 수 있으며,  

각각의 정상적인 Tapjoy 변수(a fully qualified type) 앞에 com.tapjoy.extensions를 사용하실 수 있습니다.

 

방향전환(Changing Orientation)

AIR 앱에 Fullscreen Ad 또는 배너 광고가 표시되고 있다면, 사용자가 디바이스의 방향전환을 할 때마다 새로운 광고를 request하여야합니다. ( If you are displaying fullscreen or banner ads in your AIR app you'll need re-request a new ad every time the user changes the orientation of the device. )

 

 

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

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

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

 

 

 

출처: http://usanflower.dothome.co.kr/xe/?mid=boardStudy&page=2&sort_index=title&order_type=asc&document_srl=175

 

동영상 링크

 

Flex/AIR for iOS Development Process Explained! Build iOS Applications using Flex and Flash Builder 4.5 동영상 Guide for Apple App Store submissions App Store 에 등록 방법 Flex/AIR for iOS Development Process Explained!.

 

 

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

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

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

 

 

 

출처: http://mudchobo.tistory.com/509

 

아주 간단한 날씨앱을 만들어봤는데, urlLoader가 잘 작동하는지 테스트해봤습니다^^

Flash로 개발하게 되었을 때 이점은 역시나 플래시만의 장점인 쉽게 그래픽을 그리고, 조작할 수 있다는 것이겠죠^^ 게임개발에 유용한...ㄷㄷ 
게다가 이번에 안드로이드air까지 지원하면서 한가지의 코드로 데스크탑, 안드로이드, 아이폰앱까지 만들 수 있는 형태가 될 수 있죠(사실 Android와 Desktop은 하나의 프로젝트긴 한데, 아이폰은 AIR프로젝트가 아닌 아이폰OS프로젝트로 생성해야 만들 수 있긴하죠ㅠ).

그리고, iPhone개발을 위해 값비싼 맥북을 사지 않아도 되지요-_-(하지만, 역시....그냥 xcode로 개발하는 게...)

하지만, 모바일 기기 특성상 각각 장단점을 살릴 수 있는 기능들은 일부제한이 됩니다. 그런 기능들을 다 포기한다면 그나마 할 수 있는 분야는 게임분야겠네요^^ 게임분야는 제작하면 좋을 듯 하지만, 또 여기서 퍼포먼스가 좀 걸리네요. 제가 bitmap을 통해 뭔가 그리기 테스트를 해봤는데, 역시나 뭔가 좀 느린 듯한 느낌을 떨쳐버릴 순 없군요ㅠㅠ

일단 뭐 간단한 URLLoader를 이용해 데이터 뿌려주는 것부터 해봤긔...ㅠㅠ

일단 Adobe에서 제공하는 문서에 보면 엄청 잘나와있습니다^^
http://help.adobe.com/ko_KR/as3/iphone/index.html

준비물은 Flash CS5 랑 인증서생성 해주고 발급해주는 OpenSSL만 있으면 될 듯!

1. 인증서발급 및 프로비저닝 프로파일 받기
맥에서는 KeyChain Access라는 프로그램으로 막 만들면 되는데, 윈도우즈에서는 그게 없어요. 그래서 하는 방법이 어도비공식문서 잘 나와있네요~ 여기에서는 윈도우즈에서도 할 수 있는 방법이 있으니까 참조하세요~
http://help.adobe.com/ko_KR/as3/iphone/WS789ea67d3e73a8b2-240138de1243a7725e7-7ffd.html
혹시나.... 99딸라짜리 개발자등록을 안하셨다면 할 수 없습니다ㅠㅠ 
근데, 제 아이팟은 탈옥을 해서 그런지, 안드로이드용 .p12파일과 아무 .mobileprovision파일로 해도 잘되더라구요. 기기에 그냥 테스트가 하고 싶으신 분이라면(제가 그랬음!기기에 어떻게 돌아가는지만 궁금했을 뿐), 탈옥(?)을 하셔서 테스트를 해보시는게...ㅠㅠ

2. Flash CS5에서 개발하기
Flash CS5를 열고 그냥 개발하면 됩니다(응?).
일단 새로만들기에 iPhone OS라는 게 있는데, 그걸로 생성하면 320x480사이즈의 플래시문서형태가 나옵니다. 일단 초간단한 구글날씨api를 이용해서 날씨를 불러와서 문서에 보여주는 형태의 코드를 해봤습니다.
[code]
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.errors.IOError;
import flash.utils.Timer;
import flash.events.TimerEvent;

var urlLoader:URLLoader;
var urlRequest:URLRequest;
var timer:Timer;

function init():void
{
    trace("init");    
    
    timer = new Timer(5000, 0);
    timer.addEventListener(TimerEvent.TIMER, timerHandler);
    
    urlLoader = new URLLoader();
    urlLoader.addEventListener(Event.COMPLETE, completeHandler);
    urlLoader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
    
    requestWeather();
}

function timerHandler(event:TimerEvent):void
{
    requestWeather();
}

function requestWeather():void
{
    urlRequest = new URLRequest("http://www.google.co.kr/ig/api?weather=seoul&temp=" + Math.random());
    urlLoader.load(urlRequest);
    timer.reset();
    timer.start();
}

function completeHandler(event:Event):void
{
    var xml:XML = new XML(urlLoader.data);
    trace(xml);
    var currentConditions:XMLList = xml.weather.current_conditions;
    var condition:String = currentConditions.condition.@data;
    var tempC:int = currentConditions.temp_c.@data;
    var humidity:String = currentConditions.humidity.@data;
    var weatherIcon:String = currentConditions.icon.@data;
    var windCondition:String = currentConditions.wind_condition.@data;
    trace(tempC + " " + humidity + " " + weatherIcon + " " + windCondition);
    
    imageLoader.source = "http://www.google.co.kr" + weatherIcon;
    labelTemp.text = tempC + "도";
    labelCondition.text = condition;
    labelWind.text = windCondition;
}

function errorHandler(event:IOErrorEvent):void
{
    trace("error = " + event.text);
    labelCondition.text = "오류발생!";
}

init();[/code]
아오....오늘 하루종일 어둡더니 계속 안개네요... 13일의 금요일이 보통 이런 날씨인데...

 


잘보면 아이콘이 어도비 에어입니다. 뭐 serversocket도 된다니 air가 맞겠네요^^

3. iPhone용에 넣기위해 ipa파일로 제작하기
파일 -> iPhone OS 설정 에서 보면 셋팅하는 게 있고, 배포탭을 보면 인증서와 프로비저닝 프로파일이 있는데, 그건 아까 1번에서 설명한 대로 넣으면 됩니다.
장치 테스트용 빠른 제작으로 하고 제작을 누르면 ipa를 만들기 시작합니다... ipa 생성까지 백만년 걸리는 것 같았습니다ㅠㅠ 엄청 느립니다ㅠㅠ

ipa파일이 해당 프로젝트 폴더에 생성이 되면 그걸 itunes에 있는 응용프로그램에 넣고, 동기화 시키면 아이폰/아이팟에 들어가 있을겁니다.

4. 아이폰/아이팟에서 확인

 

아오...나 레티나액정인데, 고화질로는 못만드는건가....ㅠㅠ 그냥 흐리게 나오네요ㅠㅠ

5. 후기의 한말씀-_-
그냥 맥북사시고, objective-c배우세요.

 

 

 

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

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

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

 

 

 

출처: http://help.adobe.com/ko_KR/as3/iphone/WS144092a96ffef7cc-33e1d8031250a54a821-7fff.html

  •  
  •  
 / Packager for iPhone / iPhone용 AIR 응용 프로그램 만들기 시작 / Apple에서 개발자 파일 받기

iPhone 개발자 파일 받기 및 사용

 

 

 

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

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

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

 

 

기타 

//크로스 플랫폼 의견

http://www.itworld.co.kr/news/64386/iOS+SDK%EB%A1%9C%EB%B6%80%ED%84%B0%EC%9D%98+%ED%83%88%EC%B6%9C+%3A+%ED%94%8C%EB%9E%98%EC%8B%9C+%EA%B8%B0%EB%B0%98+%EC%95%B1+%EA%B0%9C%EB%B0%9C

[출처] Adobe CS6로 만든 iOS App을 Apple App store에 등록하기 (2013. 6.29일 기준)|작성자더덕

 

AIR 를 이용한 One 소스 Multi 디바이스 개발

http://www.slideshare.net/chrispark79/air-one-multi

 

 

 

 

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

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

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

 

 

 

 

반응형