사용자 기본값`에 저장된 내용을 직접 확인할 수 있는 방법이 있나요? 내 데이터가 올바르게 저장되었는지 확인하고 싶습니다.
로 이동하면 시뮬레이터에서 앱의 pList 파일을 찾을 수 있습니다:
/사용자/사용자 이름/라이브러리/애플리케이션 지원/iPhone 시뮬레이터/<Sim 버전>/애플리케이션으로 이동합니다.
이 디렉토리에는 GUID로 명명된 디렉터리가 많이 있습니다. 몇 개의 앱에서 작업하는 경우 몇 개가 있을 것입니다. 따라서 앱 바이너리를 찾아야 합니다:
find . -name foo.app
./1BAB4C83-8E7E-4671-AC36-6043F8A9BFA7/foo.app
그런 다음 GUID 디렉터리의 라이브러리/환경설정 디렉토리로 이동합니다. 그래서:
cd 1BAB4C83-8E7E-4671-AC35-6043F8A9BFA7/Library/Preferences
다음과 같은 파일을 찾을 수 있습니다:
<Bundle Identifier>.foo.pList
이 파일을 목록 편집기에서 열고 지속되는 값을 마음껏 찾아보세요.
우리가 사용할 수 있는 만큼 < h1> following:-< /h1>;;;
스위프트는 3.x & h1> <;; 4.x< /h1>;
모든 키 & 가져오는 h3> <;; values:< /h3>; (키, 가치) 에 대한 우저드포츠리스탄다르.디스티오나리레프레센테이션 () { 보기인쇄 (\ (키) =\ (가치) \n" ";) }
< h3> 검색을 위한 사전 나타내줍니다 전체 사용자 defaults:< /h3>;;;
print(Array(UserDefaults.standard.dictionaryRepresentation()))
< h3> /h3>;; 를 검색하는 keys:<. 이후 키는 써줬지 배열입니다 덤프합니다 사용하여 // 덤프하지 (어레이입니다 (우저드포츠리스탄다르.디스티오나리레프레센테이션 스키스 ()))
< h3> /h3>;; 를 검색하는 values:<. 그러나 여기에도 우리가 덤프합니다 반환되므로 전체 상속 계층 구조를 사용할 수 있는 각 요소의 값을 어레이입니다. ) 을 사용할 경우, 다른 객체에 대한 자세한 정보가 필요합니다 덤프합니다 박으래도 함께 일반 인쇄 발표했다.
// dump(Array(UserDefaults.standard.dictionaryRepresentation().values))
print(Array(UserDefaults.standard.dictionaryRepresentation().values))
스위프트는 2.x< /h1> h1> <;;;
< h3> 검색을 위한 사전 나타내줍니다 전체 사용자 defaults:< /h3>;;;
print(NSUserDefaults.standardUserDefaults().dictionaryRepresentation())
< h3> /h3>;; 를 검색하는 keys:<.
print(NSUserDefaults.standardUserDefaults().dictionaryRepresentation().keys.array)
< h3> /h3>;; 를 검색하는 values:<.
print(NSUserDefaults.standardUserDefaults().dictionaryRepresentation().values.array)
가끔 내 위치를 사용하여 파일을 실행할 때 다음 스니핏 인쇄하려면 아웃해야 산우저드포츠 시뮬레이터
< pre>;
이 기본 설정 폴더 경로를 익올때
> 그러하매 너희의 산우저드포츠 이 폴더에 저장되어 있습니다. 아이폰 Simulator/User/Applications/BC5056A0-F46B-4AF1-A6DC-3A7DAB984960/Library/Preferences /users/castle/library/application 지원 /
기본설정에서 폴더와 파일이 있는 너회의 산우저드포츠 따라 release. 접두어입니다 및 응용 프로그램 이름 (예:
dk.castleandersen.dreamteam.grid.plist
사실이라면 실제 디바이스입니다 대한 동일한 것으로 기대한다.
4.0 의 스위프트
//func dictionaryRepresentation() -> [String : AnyObject]
때문에 산우저드포츠리스탄다르우저드포츠 () 의 딕티오나리레프레센테이션 되돌려줍니다 [구체화하십시오: 니노비치]
우리는 그것을 감추어 산디스티오나리 를 ''. It & # 39, & # 39 () 에 의해 다음 괄호 안에 있다. 호출할 수 있게 리앨키스 또는 리앨발 주 산디스티오나리 있는 것과 같이
print((UserDefaults.standard.dictionaryRepresentation() as NSDictionary).allKeys)
아래 코드를 사용합니다.
NSLog(@"NSUserDefault: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
Xcode 용 7
'/ Users / / / {}} {사용자 코레시무스 플라토르 디바이스에는 개발자 / / Library / / data / / Data / {}' (uuid application/ 컨테이너입니다 uuid
'/ Users / / / {}} {사용자 코레시무스 플라토르 디바이스에는 개발자 / / Library / / / data / / / {} / Library/Preferences/ UUID 컨테이너입니다 공유됨 마카베그룹 GROUP_NAME} {UUID 지프리스트'
난 요즘 견하여 uuid 찾을 수 있으며, 통증 때문에 (https://github.com/scinfu/NCSimulatorPlugin) 는 모든 것을 사용하는 것이 좋습니다. 네 시뮬레이터 app 디렉터리용 쉽게 접근할 수 있습니다.
이후, 파일 이름은 ',' app-bundle-identifier> 지프리스트 < 프리스트 쉽게 사용할 수 있습니다 '명령' 찾기 경로를 찾을 수 있다. 하지만 매우 오래 걸릴 것 "이라고 검색하면 것입니다그때에 컴퓨터, 그러니 ~ / library / 개발자 / 코레시무스 플라토르 범위, like '좋은 선택' 을 xcode 6.
예:
groupx ~ / Library / 개발자 / 코레시무스 플라토르 타입 f - 이름 코맥와섬.app. 프리스트 '-'
이 같은 일이 출력됩니다.
"'/users/hlung/library/developer/coresimulator/devices/b61913f6-7d7c-4e45-ae2f-f45220a71823/data/containers/data/application/e4cc51cf-11e5-4168-8a74-6bae3b89998f/library/preferences/com.awesome.app.plist "'
그리고 여기서 '오픈' 명령을 사용할 수 있습니다. ITerm2 사용하는 경우, 또는 그냥 command 의 경로를 풀어보렴
, OS X 응용 프로그램을 위해 찾는 대신 application& # 39 의 파일을 사용할 수 있다 '' 설정값으로 프리스트 설정값으로 간단해진다는 명령줄이 유틸리티에는.
>. 이름을 >. >. mac OS X 시스템 사용자 기본값 액세스하려면 설정값으로 - >. >. 시놉시스 (줄거리) >. >. 설정값으로 [- 커렌서스트 - 호스트입니다 hostname] 읽기 [도메인임 [핵심]] >. >. [- 커렌서스트 - 호스트입니다 hostname] 읽기 유형 설정값으로 다음도메인 키 >. >. {& # 39 설정값으로 [- 커렌서스트 - 호스트입니다 hostname] 쓰기 도메인임 plist& # 39;; # 39, & # 39, value& 키 } >. >. [- 커렌서스트 - 호스트입니다 hostname] 설정값으로 old_key new_key 도메인 이름 바꾸기 >. >. [- 커렌서스트 - 호스트입니다 hostname] 삭제하시겠습니까 설정값으로 [도메인 [핵심]] >. >. [- 커렌서스트 - 호스트입니다 hostname]} {도메인과의 groupx 말을해야합니다 도움말에서는 설정값으로 >. >. 설명 >. >. '설정값으로' 를 사용하면 읽기, 쓰기 및 삭제입니다 Mac OS X 에서 사용자 기본값 명령줄이 쉘입니다. Mac >. OS X 응용 프로그램이 사용하는 기본 시스템 및 기타 다른 사용자의 취향과 레코드 >. 정보를 제공하는 응용 프로그램을 실행할 때 유지돼야 한다 (기본 글꼴을 등 새로운 aren& # 39, t >. 문서 또는 위치 정보 패널). 이 정보를 통해 많은 액세스됩니다 애플리 >. # 39 의 cation& 기본설정에는 패널, 그 중에는 이 같은 입장은 isn& # 39, t, 정보 패널. 수 있습니다. >. 이 정보를 볼 '와' 설정값으로
예:
$ defaults read com.apple.Safari
{
AutoplayPolicyWhitelistConfigurationUpdateDate = "2018-08-24 17:33:48 +0000";
AutoplayQuirksWhitelistConfigurationUpdateDate = "2018-08-24 17:33:48 +0000";
DefaultBrowserPromptingState2 = 4;
...
내가 이 방법을 구축됨 Morion& # 39 의 제안에 따라 보다 나은 프레젠테이션입니다. ' [자체 로갈우저드포츠]' 호출하여 사용한다.
- (void) logAllUserDefaults
{
NSArray *keys = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys];
NSArray *values = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allValues];
for (int i = 0; i < keys.count; i++) {
NSLog(@"%@: %@", [keys objectAtIndex:i], [values objectAtIndex:i]);
}
}
난 계속 데스크탑 simulator& # 39 의 폴더에 바로 가기인 on my apps, 그것은 계속 예:
/Users/gary/Library/Application Support/iPhone Simulator/User/Applications
최근 날짜, 그리고 가장 최근의 앱 폴더) 에 의해 정렬할지 그냥 보고 library / preferences 에서 파일을 프리스트 편집기에는.
그 이름을 , app 이 셸 스크립트 검색하겠습니다 번들화 id 프리스트 포함된 파일 및 폴더 열기 입수합니다.
#!/bin/bash
appname="$1"
[ -z $appname ] && read -p "Application name : " appname
apppath=$(find ~/Library/Developer/CoreSimulator/Devices/ -name "$appname.app" -print -quit)
if [[ ! -z $apppath ]]; then
appbundle=$(osascript -e "id of app \"$apppath\"")
find ~/Library/Developer/CoreSimulator/Devices/ -name "$appbundle.plist" -exec bash -c 'open "$(dirname "$1")"' -- {} \;
else
echo "No application found by that name: $appname.app"
fi
#!/bin/bash
appname="$1"
[ -z "$appname" ] && read -p "Application name : " appname
apppath=$(find ~/Library/Developer/CoreSimulator/Devices -name "$appname.app" -print -quit)
if [[ ! -z $apppath ]]; then
appbundle=$(osascript -e "id of app \"$apppath\"")
echo "Found app $appname (${appbundle})"
echo -e "\033[1;30m$apppath\033[0m"
plists=$(find ~/Library/Developer/CoreSimulator/Devices -name "$appbundle.plist" -print -quit)
count=$(echo plists | wc -l | sed "s/ //g")
if [[ $count -eq 1 ]] && [[ -f "$plists" ]]; then
echo -e "\033[1;32mUserDefaults found for $appname\033[0m"
echo -e "\033[1;30m$plists\033[0m"
plistutil -i "$plists"
/usr/bin/open $(dirname "$plists")
elif [[ ${#plists} -gt 0 ]]; then
echo -e "\033[1;32mUserDefaults found for $appname\033[0m"
i=1
while read line; do
echo "[${i}] ${line} "
i=$((i+1))
done < <(echo "$plists")
echo
read -p "Select defaults to read: [1-${count}] " choice
plist=$(echo ${plists} | sed -n "${choice}p")
plistutil -i "$plist"
/usr/bin/open $(dirname "$plist")
else
echo -e "\033[31mNo UserDefaults plist found for $appname\033[0m"
fi
else
echo -e "\033[31mNo application found by that name: $appname.app\033[0m"
fi
>. 늑대굴에서 앱 내 앱 (코맥로건자이온.먀프) >. /Users/organisation/Library/Developer/CoreSimulator/Devices/3E4C8DC3-6FF4-428F-A624-B78DBE0B8C83/data/Containers/Bundle/Application/960A5232-219D-4C46-8CA3-01E259D8DDAD/My 파피아프 >. >. 내 앱 우저드포츠 늑대굴에서
defaults read com.bundleid.app
2.2 의 스위프트
let path = NSSearchPathForDirectoriesInDomains(.LibraryDirectory, .UserDomainMask, true)
let folder = path[0]
NSLog("Your NSUserDefaults are stored in this folder: \(folder)/Preferences")
전용 작업하십시오 시뮬레이터
감사합니다 @Niels 성
야, 내가 읽은 후 question& # 39 의 수락됨 종합해 스크립트입니다 파일을 저장할 수 있는 프리스트 를 사용하는 이 단순한 열었든 시뮬레이터 산우저드포츠 'iOS' 기본설정에는 떨어졌으며, 특정 간주합니다 설정 (부응합니다 내거냐 완벽하게), 다른 일을 시작할 수 있습니다.
$ cat open-prefs-plist.sh
#!/bin/sh
# The project name based on the workspace path, e.g. "MyProject" from "./MyProject.xcworkspace"
WORKSPACE_NAME=$(echo `find . -name *.xcworkspace -type d -exec basename {} \;` | cut -d'.' -f1)
SIMULATOR_PATH="$HOME/Library/Application Support/iPhone Simulator"
# The App's bundle ID taken from its info plist, e.g "com.myproject" from "./MyProject/MyProject-Info.plist"
BUNDLE_ID=`/usr/libexec/PlistBuddy -c Print:CFBundleIdentifier $WORKSPACE_NAME/$WORKSPACE_NAME"-Info.plist"`
# Open all plist files in the simulator path that match the app's bundle ID
# normally one per iOS version
find "$SIMULATOR_PATH" -name $BUNDLE_ID".plist" -type f -print0 \
| while IFS= read -r -d '' PLIST; do
echo $PLIST
open "$PLIST"
done
예 배치:
$ ls -1
MyProject
MyProject Tests
MyProject.xcodeproj
MyProject.xcworkspace
Podfile
open-prefs-plist.sh