2019년 6월 16일 일요일

[GOOD LUCK][COCOS] cocos 버전업시 필요한 작업(ios)

1. 필요 없는 리소스 삭제 처리 

Resources/ 폴더에 있는 필요 없는 리소스 삭제 처리 
HelloWorld.png
CloseSelected.png
CloseNormal.png


2. signing 적용




3. 빌드 버전 적용

   최신 버전 보다 up 하여 적용 한다.



4. 구글 계정 연동(GoogleService-Info.plist)


   1) URL types 추가

      REVERSED_CLIENT_ID  GoogleService-Info.plist에서 두개의 정보를 파일에서 복사 후 적용 한다. 





  2) 프로젝트의 Frameworks 폴더에 구글 라이브러리 추가

      - sdk 다운로드(https://developers.google.com/identity/sign-in/ios/sdk/)

$ sudo gem install cocoapods
$ sudo gem install cocoapods
$ sudo gem install cocoapods


   3) 이전 버전이 Frameworks 그대로 사용


  



   4) Frameworks 추가 

        마우스 드래그 앤 드롭



   5) Other Linker 추가 

  • Other Linker Flags: $(OTHER_LDFLAGS) -ObjC




   6) 구글 공식 홈페이지  정보 

       - 저도 공식 홈페이지에 따라서 Frameworks 추가하였습니다. 

 




5.  추가 framework 적용

    1) 현재(Google Sign-In SDK 4.4.0) 보다 낮은 버전을 사용하여 추가 framework 있다

      GoogleSymbolUtilities.framework
      GoogleAppUtilities.framework

 


   2)  에러 발생으로 추가 되는 framework

      StoreKit.framework 
      MediaPlayer.framework
      GameController.framework


6. 총 추가된  framework 입니다.





7. 프로젝트 icon 변경





8. LaunchScreenBackground.png 이미지 교체

  

9.Requires full screen 체크 

   Requires full screen에 체크 한다.

  




2019년 6월 14일 금요일

[GOOD LUCK][COCOS] 개발 환경 구성 16 - cocos2d-x - android boost build 에러 (mac) - boost::filesystem

1. boost::filesystem 빌드 에러 


   boost_1_69_0.tar.bz2 버전으로  ndk 19.2로 빌드시
 PROP_MIN_SDK_VERSION=21 이하 일때에는 빌드 에러가 발생 합니다.




 min sdk version을 21 이상으로 빌드 진행해야 문제가 없습니다.


2019년 6월 13일 목요일

[GOOD LUCK][COCOS] 개발 환경 구성 15 - cocos2d-x 3.17.1 - 패치 파일 진행시 can not open downloaded zip file 발생

1. 패치 시스템 버그 

   1) 버그 발생 환경

     AssetsManagerEx 클래스 사용하여
    패치 파일 다운로드 후 압축해제에서 버그 발생


2. 소스 수정

참고 링크
https://forum.cocos.com/t/cocos2dx-3-17-1-can-not-open-downloaded-zip-file/71980

    //unzFilezipfile=unzOpen(FileUtils::getInstance()>getSuitableFOpen(outFileName).c_str());
ssize_t size = 0;
unsigned char* zipFileData = FileUtils::getInstance()->getFileData(outFileName,"rb",&size);
unzFile zipfile = unzOpenBuffer(zipFileData, size);

if (! zipfile)
{
    CCLOG("can not open downloaded zip file %s", outFileName.c_str());
    return false;
}






[GOOD LUCK][COCOS] 개발 환경 구성 14 - cocos2d-x - android 빌드 방식 변경 cmake --> ndk-build

1. android studio의 문제 

  변경 이유는 빌드시 "Updating symbols..."  무한 대기 하는 문제가 발생하여 변경
  


2. Android.mk

   proj.android/app/jni/Android.mk 변경 작업 진행


  1) boost include경로 추가 

  LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../boost/android/include






  2) boost lib 추가 

    자신이 사용할 lib 추가,  boost의 Android.mk 파일과 연결

LOCAL_STATIC_LIBRARIES := cc_static



#boost lib

LOCAL_STATIC_LIBRARIES += boost_chrono
LOCAL_STATIC_LIBRARIES += boost_date_time
LOCAL_STATIC_LIBRARIES += boost_regex
LOCAL_STATIC_LIBRARIES += boost_system
LOCAL_STATIC_LIBRARIES += boost_thread
LOCAL_STATIC_LIBRARIES += boost_serialization
LOCAL_STATIC_LIBRARIES += boost_filesystem



3) boost lib 경로 지정 


$(call import-module, ../boost/android/lib)



3. boost Android.mk 추가 

   1) Android.mk 파일 추가

      proj.android/app/jni/Android.mk 파일 복사하여 사용 하시면 됩니다. 



  

2) Android.mk 내용

  boost_chrono 이름은      proj.android/app/jni/Android.mk 파일의   LOCAL_STATIC_LIBRARIES += boost_chrono와 연결되니 같은 이름으로 지정 합니다. 

    

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := boost_chrono
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libboost_chrono.a
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := boost_date_time
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libboost_date_time.a
include $(PREBUILT_STATIC_LIBRARY)


 같은 방식으로 계속 추가 합니다.


[GOOD LUCK][COCOS] cocos 버전업시 필요한 작업(android)

1. CCRef.h 변수 추가 

  - 변수와 함수 추가 한다. 

   long long m_lValue;
   int m_nIndex;

   // ui value
   long long get_value();
   void set_value(long long a_lValue);

   // ui index
   int get_index();

   void set_index(int a_nIndex);


2. SDK Manager 추가 다운로드 

   - Google Play services 설치 

3. Cocos2dxActivity.java 수정

  구글 로그인 계정 연동을 위해 수정 작업
  class Cocos2dxActivity extends Activity

 -->  class Cocos2dxActivity extends FragmentActivity


 실제로는 변경 되는 클래스
 Activity --> FragmentActivity


 수정 이유는 new GoogleApiClient.Builder(this) 호출시 에러 발생


  FragmentActivity 사용하기 위해서는 추가 라이브러리 적용
  cocos2d\cocos\platform\android\libcocos2dx\build.gradle  
  compile 'com.android.support:support-v4:26.0.1'


4. build.gradle 머지

   proj.android/app/build.gradle
   proj.android/build.gradle
  
  두개의 파일 머지 머지 진행

5. billing 적용

   결제 시스템을 적용을 위해 
    proj.android/app/src/org/cocos2dx/cpp/util 폴더안의 소스 추가 

    android studio 에서 패키지 추가로 IInAppBillingService.aidl 추가
    자세한건 구글에서 찾아서 적용
   
  

2019년 5월 30일 목요일

[GOOD LUCK][COCOS] 개발 환경 구성 13 - cocos2d-x - 서버 개발 환경 구성 (window) - maria db 설치

1. maria db 다운로드 

   1) https://downloads.mariadb.org/ 다운로드
    현재 버전이 10.3.15 다운로드 진행합니다.

   


2. maria db 설치 


 설치 방법에 대해서는 자세하게 설명하지 않겠습니다.





3. 접속 확인(HeidiSQL)

 1) 설치 중에 자동으로 설치가 됩니다.
    만약에 설치에서 제외 되었으면 다운로드 및 설치 먼저 진행 하십시오
    https://www.heidisql.com/





 2) 설치중에 생성한 root 패스워드를 입력하여 접속 한다. 


  

3) 접속 성공


  

[GOOD LUCK][COCOS] 개발 환경 구성 12 - cocos2d-x - 서버 개발 환경 구성 (window) - 환경 구성

1. 서버 프로젝트 생성

   1) 빈 프로젝트로 생성
   2) 이름 : game_server
   3) 솔루션 이름 : server

  


2. stdafx.h, stdafx.cpp, main.cpp 생성

  1) 속성 --> 추가 에서 main 및 미리컴파일된 헤더(Precomplied Header) 추가

  2) 미리컴파일된 헤더(Precomplied Header) 방법은 이전 게시글에서 참고하여 구성
    https://nondevelop.blogspot.com/2019/05/good-louccocos-7-cocos2d-x-win32_24.html


    

  프로젝트 구성 방식은 개인적인 스타일이라 다르게 하셔도 됩니다.


3. login_server, world_server 프로젝트 추가 

  속성 --> 추가 에서 새 프로젝트 추가 하여 game_server와 같은 방식으로
  기본 구성 하면 됩니다.


앱 링크

1) ios 앱 링크       https://apps.apple.com/app/id1438419928 2) android 앱 링크       https://play.google.com/store/apps/details?id=nondeve...