2010-08-24 4 views
2

디버그릴리스 모드 모두에서 매우 잘 실행되는 게임 프로젝트가 있습니다. 나는 두 가지 버전을 가지고있다. 이전 버전과 더 많은 버전 (나중에 추가 한 기능) 및 번들 ID, 버전은 모두 동일합니다. 이전에 설치된 버전이없고 이전에 "myGame"이 설치된 경우 app. 새 빌드를 먼저 작성하면 잘 빌드되고 잘 실행되고 그 반대의 경우도 마찬가지입니다.이전 버전의 앱을 새 앱 버전으로 교체하면 앱이 다운됩니다! 이유?

하지만 새로운 앱이 이미 설치되어있는 이전 버전을 빌드하면 이전 버전의 앱이 iPod touch에 이미 설치되어있을 때 앱이 다운되고 그 반대의 경우도 마찬가지입니다. 콘솔 메시지는 다음과 같습니다.

 
/* Old version installed first and build new version */ 

Running… 
gdb-arm-apple-darwin(3441) malloc: *** error for object 0x4601e0: incorrect checksum for freed object - object was probably modified after being freed. 
*** set a breakpoint in malloc_error_break to debug 
Error launching remote program: failed to get the task for process 6791. 
Error launching remote program: failed to get the task for process 6791. 
The program being debugged is not being run. 
The program being debugged is not being run. 
gdb-arm-apple-darwin(3441) malloc: *** error for object 0x42a7d0: incorrect checksum for freed object - object was probably modified after being freed. 
*** set a breakpoint in malloc_error_break to debug 

/* New version installed first in device then build old version */ 

Running… 
gdb-arm-apple-darwin(4195) malloc: *** error for object 0x45e710: incorrect checksum for freed object - object was probably modified after being freed. 
*** set a breakpoint in malloc_error_break to debug 
Error launching remote program: failed to get the task for process 7079. 
Error launching remote program: failed to get the task for process 7079. 
The program being debugged is not being run. 
The program being debugged is not being run. 

또한 기기에서 이전에 설치된 앱을 삭제하면이 문제를 해결할 수도 있습니다. 하지만이 충돌의 근본 원인을 알고 싶습니다. appStore에 새로운 버전의 앱이 있다면 두려운 것입니다. 사용자에게 새 버전을 사용하기 위해 먼저 이전 버전을 삭제하도록 요청하는 것은 매우 불편합니다.

이 상황을 극복하도록 도와주세요. 모든 종류의 정보에 감사드립니다.

mysticBoy59

PS : 나는 응용 프로그램의 같은 이전 버전을 사용하고 새 버전을 만들기 위해 기능을 추가했다. 새로운 것을 쉽게 대체 할 수 있습니까? 우리는 기능을 추가하고 빌드하고 테스트 할 때 !!

답변

1

내 문제를 해결하는 방법을 찾은 이후로 나는 그것에 대해 조금 설명하고 있습니다. 일반적으로 "디버깅중인 프로그램이 실행되고 있지 않습니다"라는 솔루션을 검색 할 때 장치의 기존 (기존) 응용 프로그램을 삭제하고 제대로 작동하는 것처럼 보이는 새 빌드를 수행하기 만하면됩니다.

하지만 충돌은 물론 내에서 먼저 무시한 몇 가지 문제가 있습니다. 실제 문제는 빌드 설정 -> 패키징에 제품 이름이 약간 변경되었다는 것입니다. 내가 언급해야 할 것은이 게임 프로젝트는 저와 제 친구가 수행했습니다. 그는이 프로그래밍 부분을 할 때 제품 이름 (공백 포함)을 약간 변경 했었습니다 (실수로 생각한 것 같습니다).

이로 인해 충돌이있는 새로운 및 이전 응용 프로그램 버전 내의 제품 이름에 충돌이 발생합니다. 이제 제대로 작동합니다. 그래서 여러분 중 누구라도 그것을 만나면, 먼저 이것을 확인해야합니다. 게임의 대부분은 큰 프로젝트이고 개발자의 숫자가 관련되어 있기 때문입니다. 그래서 언젠가 이러한 행동을 일으킬 수 있습니다.

누구나 읽어 주셔서 감사합니다. 그리고 이동하십시오 ... :)

+0

감사 - 그게 알아 내려고 노력의 시간을 절약 ... (초보자 - 최대 투표 할 수 없다) 어쨌든, 주위에 방법이 있다면 누군가 알 수 있습니까? 제품 이름 (대문자 및 공백)을 변경해야합니다. 이는 내 사용자가 업데이트하지 못하는 것을 의미합니까? – dan

+0

헤이 댄, 내가 너를 도왔을 때 기분이 좋았어. iTunes의 기존 앱을 업데이트하면 이전 버전과 동일한 제품 이름이 있어야합니다.제품 이름을 다른 (공백, 대문자)로 변경하면 기존 앱을 업데이트하지 않고 앱을 새 앱으로 설치하지 못합니다 (앱의 이전 버전을 대체하지 않음). 새 앱으로 업데이트하기 전에 고객에게 이전 앱을 삭제하라고 말할 수 없으므로 신중해야합니다. 행운을 빌어 요. – mysticboy59

0

먼저 기기에 저장하려는 데이터를 확인하십시오. 이전 버전이 휴대 전화 메모리에 새로운 버전으로 읽혀지고 충돌을 일으킬만한 것을 쓰고있을 가능성이 있습니다.

+0

어쨌든 내 솔루션의 내 앱 설정을 자세히 살펴본 결과 알게된 점에 대해 감사드립니다. 그것은 도왔 : – mysticboy59

관련 문제