iOS 13.3.1 업데이트 이후 무료 개발자 계정에서 Embeded Framework 사용을 금지 시켜서 나오는 현상 입니다.

podfile 에서 use_frameworks! 제거 후 use_modular_headers! 를 추가해 준 뒤 pod update 실행 하면 해결 됩니다.

Posted by 후미카
:

iOS 빌드 업로드후 경고 메일이 전달 되고 테스트플라이트에 업로드 되지 않는 경우 Cocos2d-x에서 Deprecate UIWebView를 사용했기 때문에 발생합니다.

cocos2d-x 에서 UIWebView를 제거해주면 됩니다.

 

해결방법

UIWebViewImpl-ios.h

UIWebViewImpl-ios.mm

2개파일을 제거 해 주면 해결 됩니다.

Posted by 후미카
:

Could not find auto-linked library 'swiftFoundation' 에러가 발생한 경우

프로젝트에 빈 swift 파일을 추가 해 주면 된다.

프로젝트 우클릭 > 새 파일 > swift file 생성 후 Create Bridging Header 버튼을 누르면 해결 됨.

Posted by 후미카
:

iOS 개발을 하다보면 

Undefined symbols for xxx   
  "_inflate", referenced from: 

과 같은 에러코드를 볼 수 있습니다.


이 경우 libz.tdb 파일을 추가 해 주면 해결 할 수 있습니다.



Posted by 후미카
:

a valid provisioning profile for this executable was not found 는 provisioning profile 이 잘못 선택된 경우가 많습니다.


Build Settings -> Signing 항목에서 인증서가 정상적으로 되었는지 확인 후 인증서에 문제가 없는 경우 빌드 스키마가 잘못 되어있는 경우에도 해당 문제가 발생합니다.


 Scheme 값을 맞는 형대로 수정하면 해결 될 수 있습니다.





Posted by 후미카
:

libpng error: CgBI: unhandled critical chunk


위와 같은 에러가 나올 경우 xCode 상의 옵션을 바꿔주면 됩니다.


Remove Text Metadata From PNG Files 옵션을 No 로 변경 해 주면 해결 됩니다.



Posted by 후미카
:

iOS 에서 링크를 사파리에서 열고 싶지만 페이스북 앱으로 연동 되는 경우가 있다.


이때는 url의 형태를 변경 해주기만 하면 간단히 해결 된다.


http://www.facebook.com/weiteMyUrl 같은 형식에서

앞쪽의 www. 을 제거해주면 페이스북앱으로 연동되지 않고 사파리에서 열리게 된다.



[NSString* myUrl = @"https://facebook.com/writeMyUrl";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:myUrl]];


Posted by 후미카
:

iOS 구글 애널리틱스를 적용하다보면 sqlite3 링크 에러를 볼 수 있다.


이는 구글 애닐러틱스 홈페이지에서 sqlite3.0 라이브러리 추가를 빼먹었기 때문이다.


Linked Frameworks and Libraries 에 libsqlite3.0dylib 을 추가해주면 링크 에러가 사라진다

Posted by 후미카
:
1. CocosDenshion이 재생중인 effects / bgm 만을 일시정지 하도록 수정한다.
2. AppDelegate.cpp 에서 pause / resume 을 하지 않는다. OS 에서 일시정지 하도록 놔두면 된다.
3. (선택사항) AppController.mm 에서 pauseAllEffects 와 resumeAllEffects 를 ApplicationWillResignActive 와 applicationDidBecomeActive 에 넣어 준다.

앞에 + 표시 되어있는 부분이 추가된 부분이다.

/**** CDAudioManager.m ****/
 -(void) pauseBackgroundMusic
  {
 +    if (![self.backgroundMusic isPlaying]) {
 +        return;
 +    }
 +	
      [self.backgroundMusic pause];
  }    


/**** CocosDenshion.m ****/
(void) pauseSound:(ALuint) sourceId {
    if (!functioning_) {
        return;
    }
 +
 +  // only pause a sound id that is playing
 +  ALint state;
 +  alGetSourcei(sourceId, AL_SOURCE_STATE, &state);
 +  if (state != AL_PLAYING)
 +  {
 +    return;
 +  }
 +
    alSourcePause(sourceId);
    alGetError();//Clear error in case we pause any sounds that couldn't be paused
  }


원본 URL
http://discuss.cocos2d-x.org/t/sound-fx-not-playing-after-a-while/623/25

Posted by 후미카
:

페이스북 iOS SDK를 적용하는 도중 

cannot use the facebook app or safari to authorize fb1234567890 is not registered as a url scheme

위와 같은 에러 메세지와 함께 SSO가 작동하지 않는 경우가 있다.

이럴 경우 Info.plist 내부의 값을 변경해 주는 것으로 간단하게 처리 된다.


<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb12345**********</string>
        </array>
    </dict>


info.plist 파일을 텍스트 편집기로 열어서 위와 같이 바꿔주면 된다.

주의사항은 URL Scheme 를 CFBundleURLSchemes로 변경하는것이 아닌 CFBundleURLSchemes 부분의 string을  fbAPP_ID로 변경해 주어야 한다.

Posted by 후미카
:

iOS 구글 플레이 게임 서비스 연동시 업적, 리더보드, 멀티 플레이등 화면은 나오지만 로드 되지 않고 계속 로드중 표시일 경우가 있다.


 


이때 로그에 [GPGManager applicationId] Application ID expected to be a valid, non-empty string. 과 같은 문구가 나온다면 ApplicationID를 적어주지 않았기 때문이다.


Info.plist 또는 어플리케이션 설정의 Info탭에서 GPGApplicationID 항목을 String형식으로 추가해준뒤 구글 플레이 서비스 ClientID중 가장 앞에 있는 숫자(안드로이드 ClientID와 동일)를 적어주면 로드가 된다.

GPGAndroidID 가 입력되지 않아서 창은 생성되지만 내용을 로드해 오지 못하는 상황 이었다.

Posted by 후미카
:

카테고리

전체보기 (102)
Development (102)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

글 보관함