[iphone] iPhone 시뮬레이터 정리
iPhone 시뮬레이터 용으로 빌드 할 때 xcode가 앱을 배포하는 디렉토리를 정리하는 간단한 방법이 있습니까? 필요한 경우 시작할 때 Documents 폴더에 복사되는 sqlite 데이터베이스가 있습니다. 문제는 스키마를 변경할 수 있지만 새 데이터베이스가 이미 존재하기 때문에 복사되지 않는다는 것입니다.
이상적으로는 내가 만들 때마다 이전 콘텐츠를 핵무기로 만들 것입니다. 이것이 가능합니까, 아니면 수동으로해야합니까?
답변
시뮬레이터는 다음 위치에 앱을 설치합니다.
"$HOME/Library/Application Support/iPhone Simulator/User/Applications"
또한 다음을 확인하십시오.
"$HOME/Library/Developer/CoreSimulator/Devices"
GUID 파일 및 디렉토리는 시뮬레이터에 설치된 앱과 일치합니다.
시뮬레이터에서 모든 애플리케이션을 제거하려면 모든 파일 / 디렉토리를 수동으로 삭제하십시오.
XCode의 빌드 프로세스에 스크립트를 추가하는 방법이 있다는 것을 알고 있습니다.
또한 XCode가 각 빌드를 사용하는 GUID를 변경하는 것처럼 보이므로 (내 앱이 XCode의 빌드간에 변경되는 디렉터리) 항상 동일한 디렉터리를 삭제하려고하면 작동하지 않습니다. 한 번에 하나의 앱에서만 작업하는 경우 전체 디렉토리를 지우는 것이 옵션이 될 것입니다.
답변
Apples Dev Resources에서 :
시뮬레이터의 사용자 콘텐츠 및 설정을 공장 출하 상태로 설정하고 설치 한 응용 프로그램을 제거하려면 iPhone Simulator> 콘텐츠 및 설정 재설정을 선택 합니다 .
이것은 다음과 유사합니다.
답변
이 작업을 수행하는 방법은 시뮬레이터에서 내 앱의 아이콘을 클릭 한 상태로 유지 한 다음 흔들 리기 시작하면 흑백 (x)을 클릭하는 것입니다. 정말로 삭제할 것인지 묻는 메시지가 나타나면 예를 클릭하면됩니다. 다음에 앱을 빌드하고 배포 할 때 문제없이 새로운 sqlite db를 사용하므로 파일 시스템을 꼼꼼히 살펴볼 필요가 없습니다.
답변
Mac OS X Lion에서 iOS 5를 실행 한 후 다음을 시도 할 수 있습니다.
- 다음
RemoveSimulatorApps.command
을 포함 하는 스크립트를 작성하십시오 .rm -rf "$ HOME / Library / Application Support / iPhone Simulator / 5.0 / Applications / *"
- 이 스크립트를
PATH
. - 다음과 같이 파일을 실행 가능하게 만드십시오.
chmod + x RemoveSimulatorApps.command
가정
- Logitech 또는 프로그래밍 가능한 키가있는 Microsoft 키보드와 같은 키보드 즐겨 찾기 버튼에서이 기능을 호출 할 수 있습니다 (따라서 .sh 대신 .command 파일로 저장).
- iOS 시뮬레이터에서 모든 것을 날려도 괜찮습니다 (하나의 앱에서 적극적으로 작업하는 경우 이상적)
- 다른 사람들의 모든 메모는 좋은 업그레이드 가능한 앱 등에 대해 적용됩니다. (하지만 개인적으로 유용하다는 것을 알았지 만 b / c 일관된 견고성 / 오류 처리를 수행하려는 특정 상태에서 데이터베이스를 다시로드하는 개발 모드 스위치가 있습니다)
답변
과잉 일 수도 있지만 ..
메뉴와 ‘콘텐츠 및 설정 재설정 …’을 사용할 수도 있습니다.
답변
정말로하려는 것은 스키마를 변경 한 경우 데이터베이스를 지우는 것입니다. 이 작업을 수행하는 한 가지 방법은 앱의 버전 2.0, 3.0 등을 출시 할 때 장기적으로 더 행복해질 것입니다. sqlite 테이블의 버전을 확인하고 변경된 경우 폐기하는 것입니다. 이전 파일을 사용하고 번들에있는 파일을 사용하십시오.
시뮬레이터를 정리하는 방법을 찾는 것은 새 스키마가있는 새 버전을 배송 할 때 고객의 iPhone을 정리하는 방법에 대한 실제 문제에 도움이되지 않습니다.
추가 사항의 경우, 이전 스키마를 발견했음을 확인한 후 이전 스키마를 파괴하지 않고 새 데이터베이스를 복사하고 이전 데이터베이스에서 흥미로운 데이터를 새 데이터베이스로로드 할 수 있습니다. 그런 다음 이전 데이터베이스를 날려 버리십시오. 이렇게하면 사용자가 데이터베이스에 추가 한 내용을 보존 할 수 있습니다.
답변
Xcode> = 6 인 경우
xcrun simctl list | grep -oh '[A-Z0-9]\{8\}-[A-Z0-9]\{4\}-[A-Z0-9]\{4\}-[A-Z0-9]\{4\}-[A-Z0-9]\{12\}' | xargs -n1 xcrun simctl erase