programing

iPhone 시뮬레이터 정리

lovejava 2023. 5. 14. 09:58

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를 사용한 후 다음을 시도할 수 있습니다.

  1. 다스크트만다듭라는 스크립트를 .RemoveSimulatorApps.command다음을 포함합니다.
    rm -rf "$HOME/도서관/애플리케이션 지원/아이폰 시뮬레이터/5.0/애플리케이션/*"
  2. 를 이스트의저다니의 합니다.PATH.
  3. 파일을 다음과 같은 실행 파일로 만듭니다.
    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 -> 하드웨어 -> 모든 콘텐츠 및 설정 지우기

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

단계는 다음과 같습니다.

  1. iOS Simulator에 응용 프로그램을 설치하고 해야 할 일을 수행합니다.
  2. 에서 장치 식별~/Library/Developer/CoreSimulator/Devices/그리고 을 합니다.cd그렇다면, 그것으로.git init깃 저장소를 만들다
  3. 상태를 저장하려면 다음을 수행합니다.git commit -a "Message"
  4. 설정을 변경하는 작업(예: 일정관리 등록 추가) 및 테스트 수행
  5. 시뮬레이터 종료
  6. git reset --hard HEAD
  7. 시뮬레이터를 시작합니다. 모든 변경은 다음 시간 이후에 수행됩니다.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