iPhone 시뮬레이터 정리
아이폰 시뮬레이터를 구축할 때 xcode가 앱을 배포하는 디렉터리를 정리하는 간단한 방법이 있습니까?필요한 경우 시작 시 문서 폴더에 복사되는 SQLite 데이터베이스가 있습니다.문제는 스키마를 변경할 수 있지만 새 데이터베이스가 이미 존재하기 때문에 새 데이터베이스가 복사되지 않는다는 것입니다.
이상적으로는 제가 빌드할 때마다 이전 내용이 삭제됩니다.이것이 가능합니까, 아니면 수동으로 해야 합니까?
Apple Dev 리소스에서:
시뮬레이터의 사용자 콘텐츠 및 설정을 공장 상태로 설정하고 설치한 응용 프로그램을 제거하려면 Device > Erase All Content and Settings를 선택합니다.
(구버전 : iPhone Simulator > 콘텐츠 및 설정 재설정)
시뮬레이터는 다음 위치에 앱을 설치합니다.
"$HOME/Library/Application Support/iPhone Simulator/User/Applications"
다음 항목도 확인:
"$HOME/Library/Developer/CoreSimulator/Devices"
GUID 파일 및 디렉터리는 시뮬레이터의 설치된 앱과 일치합니다.
이러한 모든 파일/디렉토리를 수동으로 삭제하여 시뮬레이터에서 모든 응용 프로그램을 제거합니다.
XCode에서 빌드 프로세스에 스크립트를 추가하는 방법이 있다는 것을 알고 있습니다.
또한 XCode는 각 빌드(XCode에서 내 앱이 배치되는 디렉터리가 빌드 간에 변경됨)에서 사용하는 GUID를 변경하는 것처럼 보이기 때문에 항상 동일한 디렉터리를 삭제하려고 해도 작동하지 않습니다.한 번에 하나의 앱에서만 작업하는 경우 전체 디렉터리를 지우는 것이 옵션입니다.
이 방법은 시뮬레이터에서 앱 아이콘을 클릭한 다음 프로그램이 흔들리기 시작하면 흑백(x)을 클릭하는 것입니다.삭제할지 묻는 메시지가 나타나고 예를 클릭합니다.다음 번에 앱을 구축하고 배포할 때 새로운 SQLite db를 문제 없이 사용할 수 있으므로 파일 시스템을 이리저리 돌아다닐 필요가 없습니다.
Mac OS X Lion에서 iOS 5를 사용한 후 다음을 시도할 수 있습니다.
- 다스크트만다듭라는 스크립트를 .
RemoveSimulatorApps.command
다음을 포함합니다.rm -rf "$HOME/도서관/애플리케이션 지원/아이폰 시뮬레이터/5.0/애플리케이션/*"
- 를 이스트의저다니의 합니다.
PATH
. - 파일을 다음과 같은 실행 파일로 만듭니다.
chmod +x 시뮬레이터 앱 제거 명령
가정
- 프로그램 가능한 키가 있는 Logitech 또는 Microsoft 키보드와 같은 키보드 즐겨찾기 단추에서 이 기능을 호출할 수 있습니다(따라서 .sh 대신 .명령 파일로 저장).
- iOS 시뮬레이터의 모든 것을 날려버려도 괜찮습니다(앱 하나로 활발하게 작업하는 경우 이상적입니다).
- 업그레이드 가능한 좋은 앱 등에 대한 다른 사람의 모든 참고 사항이 적용됩니다. (그럼에도 불구하고 개인적으로 이 기능이 유용하다는 것을 알게 되었습니다. b/c 특정 상태에서 데이터베이스를 다시 로드하는 개발 모드 스위치가 있습니다. 일관성/오류 처리를 일관되게 수행하려고 했습니다.)
과잉 살상일 수도 있지만..
메뉴와 '콘텐츠 및 설정 재설정...'도 사용할 수 있습니다..'
스키마를 변경한 경우 데이터베이스를 지우는 것이 좋습니다.이렇게 하는 한 가지 방법은 앱의 버전 2.0, 3.0 등을 제공하기 시작할 때 장기적으로 더 행복해질 수 있으며, SQLite 테이블의 버전을 확인하고 변경된 경우 이전 파일을 버리고 번들에 있는 파일을 사용하는 것입니다.
Simulator를 정리하는 방법을 찾는 것은 새 스키마로 새 버전을 배송할 때 고객의 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
Xcode 9를 사용하는 경우 -> 메뉴바 -> 하드웨어 -> 모든 콘텐츠 및 설정 지우기
Xcode 6부터는 다음 명령행에서 다음을 수행할 수 있습니다. xcrun simctl erase
또한 iOS Simulator 앱(Xcode 6 버전과 이전 버전 모두)에는 현재 부팅된 장치를 지우는 데 사용할 수 있는 "콘텐츠 및 설정 재설정"이라는 메뉴 항목이 있습니다.
이것은 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 -I{} xcrun simctl erase {}
.bash_profile의 경우
alias cleansim="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 -I{} xcrun simctl erase {}"
Xcode 6 기준:
xcrun simctl erase <sim udid>
<- 시뮬레이터를 재설정합니다.
터미널에서 다음 명령을 실행하면 시뮬레이터를 방금 설치한 것처럼 모든 시뮬레이터가 지워집니다.
$xcrun simctl erase all
실행하기 전에 시뮬레이터를 닫으십시오.
Xcode 캐시 지우기;
명령+옵션+Shift+K
명령+Shift+K
(기능이 다르기 때문에 두 가지를 모두 사용합니다.
파생 데이터 내용 지우기;
메뉴 모음 -> 창 -> 조직자 -> 프로젝트 -> 프로젝트 선택
오른쪽 창에는 폴더 이름이 표시되며 오른쪽에 있는 delete 버튼을 사용하여 파생된 모든 데이터 내용을 삭제할 수 있습니다.
시뮬레이터 캐시 지우기;
메뉴바 -> iOS 시뮬레이터 -> 콘텐츠 및 설정 재설정
제가 검증된 답변 아래 코멘트에서 설명하고 있을 때:
일정관리 구독 추가 및 제거를 테스트하고 있습니다.실제 장치에서는 설정, 계정에서 캘린더 구독을 제거할 수 있지만 iOS 시뮬레이터에는 이 메뉴가 없으므로 시뮬레이터 전체를 재설정하고 싶지 않았습니다.
그래서 결국 Git를 사용하여 Device 폴더를 로컬로 버전화하고 캘린더 등록을 추가한 후 다음 명령을 수행하여 해당 등록을 제거했습니다.
$ git reset HEAD --hard
$ git clean -f
단계는 다음과 같습니다.
- iOS Simulator에 응용 프로그램을 설치하고 해야 할 일을 수행합니다.
- 에서 장치 식별
~/Library/Developer/CoreSimulator/Devices/
그리고 을 합니다.cd
그렇다면, 그것으로.git init
깃 저장소를 만들다 - 상태를 저장하려면 다음을 수행합니다.
git commit -a "Message"
- 설정을 변경하는 작업(예: 일정관리 등록 추가) 및 테스트 수행
- 시뮬레이터 종료
- 도
git reset --hard HEAD
- 시뮬레이터를 시작합니다. 모든 변경은 다음 시간 이후에 수행됩니다.
git commit
사라졌습니다.
XCode에서 Window 메뉴 옵션으로 이동하여 Devices(장치)를 선택한 다음 더 이상 필요하지 않은 장치만 삭제할 수 있습니다.
Xcode <= 5의 경우
다음을 추가했습니다.~/.bash_profile
alias cleansim='rm -r ~/Library/Application\ Support/iPhone\ Simulator/5.1/Applications/*'
그것은 단지 심에 있는 모든 앱을 핵으로 만듭니다.
Xcode 14.1과 iPhone 14 시뮬레이터를 사용하여 iPhone에서처럼 앱을 삭제했습니다.그러면 앱에서 모든 데이터가 삭제됩니다.다시 빌드했을 때 문서 폴더의 모든 데이터가 제거되었습니다.
Mac OS Ventura 13의 Xcode 14에 대한 답변
시뮬레이터를 엽니다.터미널에서 다음 작업을 수행할 수 있습니다.open -a simulator
그럼 그냥Device
->Erase All Content and Settings...
언급URL : https://stackoverflow.com/questions/692064/cleaning-up-the-iphone-simulator
'programing' 카테고리의 다른 글
윈도우즈 EXE 파일 서명 (0) | 2023.05.14 |
---|---|
Pip은 Ubuntu의 Python 3.10에서 작동하지 않습니다. (0) | 2023.05.14 |
Postgres의 기본 암호는 무엇입니까? (0) | 2023.05.14 |
ASP.Net 오류: "'foo' 유형이 "temp1.dll" 및 "temp2.dll"에 모두 있습니다. (0) | 2023.05.14 |
인터페이스에서 작업을 반환해야 하는 경우 무작동 구현을 수행하는 가장 좋은 방법은 무엇입니까? (0) | 2023.05.14 |