바이너리, XML, JSON 또는 OpenStep 형식의 Apple 속성 목록 파일을 처리하는 작은 휴대용 C 라이브러리.
이 프로젝트는 plistutil 이라는 명령 줄 유틸리티와 함께 Binary, XML, JSON 또는 OpenStep 형식에서 Plist 파일을 읽고 쓸 수있는 인터페이스를 제공합니다.
몇 가지 주요 기능은 다음과 같습니다.
plistutil 유틸리티를 제공합니다작업 컴파일러 (GCC/Clang)와 개발 환경이 있어야합니다. 이 프로젝트는 빌드 프로세스에 자동 툴을 사용하여 다른 플랫폼에서 공통 빌드 단계를 가질 수 있습니다. 전제 조건만이 다르며이 섹션에서 설명되어 있습니다.
필요한 모든 종속성을 설치하고 도구를 빌드하십시오.
sudo apt-get install
build-essential
checkinstall
git
autoconf
automake
libtool-bin선택적으로 문서 또는 파이썬 바인딩 사용을 구축하려는 경우 :
sudo apt-get install
doxygen
cython3 Xcode 명령 줄 도구가 설치되어 있는지 확인하십시오. 그런 다음 Macports 또는 Homebrew를 사용하여 automake , autoconf 및 libtool 설치하십시오.
MacPorts 사용 :
sudo port install libtool autoconf automake홈브류 사용 :
brew install libtool autoconf automake 문서를 작성하려면 위에서 해당 설치 명령을 사용하여 doxygen 설치하십시오.
파이썬 바인딩을 구축하려면 Cython을 설치해야합니다.
pip3 install cython파이썬 바인딩의 구축이 실패하면 몇 가지 환경 변수를 설정해야 할 수도 있습니다. 예를 들어 GitHub 작업을 통한 자동화 된 빌드는 다음 환경 변수를 설정합니다.
PYTHON3_BIN= ` xcrun -f python3 `
export PYTHON= $PYTHON3_BIN
PYTHON_VER= ` $PYTHON3_BIN -c " import distutils.sysconfig; print(distutils.sysconfig.get_config_var('VERSION')) " `
PYTHON_EXEC_PREFIX= ` $PYTHON3_BIN -c " import distutils.sysconfig; print(distutils.sysconfig.get_config_var('exec_prefix')) " `
PYTHON_LIBS_PATH= $PYTHON_EXEC_PREFIX /lib
PYTHON_FRAMEWORK_PATH= $PYTHON_EXEC_PREFIX /Python3
export PYTHON_LIBS= " -L $PYTHON_LIBS_PATH -lpython $PYTHON_VER "
export PYTHON_EXTRA_LDFLAGS= " -Wl,-stack_size,1000000 -framework CoreFoundation $PYTHON_FRAMEWORK_PATH " MSYS2를 사용하는 것은이 프로젝트를 Windows에서 컴파일하는 공식적인 방법입니다. MSYS2 설치 프로그램을 다운로드하고 설치 단계를 따르십시오.
MSYS2 MINGW 64 비트 쉘을 사용하는 것이 좋습니다. 실행하고 필요한 종속성이 설치되어 있는지 확인하십시오.
pacman -S base-devel
git
mingw-w64-x86_64-gcc
make
libtool
autoconf
automake-wrapper참고 : 필요에 따라 다른 쉘과 다른 컴파일러를 사용할 수 있습니다. 그에 따라 위 명령을 조정하십시오.
선택적으로 Python 바인딩을 구축하려면 cython 설치하고 작동하는 Python 환경이 있는지 확인해야합니다.
pacman -S cython git 체크 아웃 또는 .tar.bz2 릴리스에서 릴리스에서 소스 코드를 작성할 수 있습니다. 우리가 그것을 만들기 전에, 소스 트리는 빌드를 위해 구성되어야합니다. 단계는 출처를 어디에서 얻었는지에 따라 다릅니다.
git에서
아직하지 않은 경우 실제 프로젝트 저장소를 복제하고 디렉토리로 변경하십시오.
git clone https://github.com/libimobiledevice/libplist.git
cd libplist빌딩 용 소스 트리 구성 :
./autogen.sh릴리스 Tarball (.tar.bz2)에서
공식 릴리스 Tarball ( libplist-xyztar.bz2 )을 사용할 때 절차는 약간 다릅니다.
Tarball 추출 :
tar xjf libplist-x.y.z.tar.bz2
cd libplist-x.y.z빌딩 용 소스 트리 구성 :
./configure ./configure 및 ./autogen.sh (구성을 생성하고 호출 configure ) 둘 다 (구성 및 호출) 몇 가지 옵션 (예 : --enable-debug 과 같은 몇 가지 옵션을 수락하여 최종 제품에서 디버그 메시지를 인쇄 할 수 있도록 또는 --without-cython 바인딩 구축을 건너 뛸 수 있습니다. 당신은 단순히 다음과 같이 전달할 수 있습니다.
./autogen.sh --prefix=/usr/local --enable-debug --without-cython또는
./configure --prefix=/usr/local --enable-debug명령이 성공하면 마지막 몇 줄의 출력은 다음과 같습니다.
[...]
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
Configuration for libplist 2.3.1:
-------------------------------------------
Install prefix ..........: /usr/local
Debug code ..............: yes
Python bindings .........: yes
Now type 'make' to build libplist 2.3.1,
and then 'make install' for installation.
모든 단계를 성공적으로 수행 한 경우 autogen.sh 또는 configure 오류를 인쇄하지 않으면 프로젝트를 구축 할 준비가되었습니다. 이것은 단순히 완료됩니다
make오류가 없으면 설치할 준비가됩니다. 현재 사용자가 대상 디렉토리에 쓸 권한이 있는지 여부에 따라 실행됩니다.
make install또는
sudo make install Linux에있는 경우 설치 후 sudo ldconfig 실행하여 설치된 라이브러리를 사용할 수 있는지 확인하려고합니다.
사용량은 간단합니다. libplist 에는 간단한 API가 있습니다. libimobiledevice 및 해당 프로젝트에 사용됩니다.
또한 plistutil 하기 쉽습니다.
plistutil -i foobar.plist -o output.plist 이것은 foobar.plist 파일을 반대 형식 (예 : Binary)을 XML로 또는 그 반대로 변환하고 output.plist 파일로 출력합니다.
특정 형식으로 변환하고 JSON 또는 OpenStep 형식에서 변환하려면 -f 명령 줄 스위치를 사용하십시오.
plistutil -i input.plist -f json 입력 형식에 관계없이 input.plist JSON으로 변환합니다. 코드는 입력 형식을 자동화하고 그에 따라 구문 분석합니다.
사용 가능한 명령 줄 옵션에 대한 전체 문서를 보려면 사용 정보 또는 설명서 페이지를 참조하십시오.
plistutil --help또는
man plistutil우리는 모든 사람의 기여를 환영하며 모든 풀 요청에 대해 감사합니다!
기여하고 싶다면 master 브랜치를 포크하고, 변경, 커밋 및 검토 요청을 보내십시오. 일단 승인되면 주 코드 기반으로 병합 될 수 있습니다.
더 큰 변경 사항이나 주요 리팩토링을 제공 할 계획이라면 먼저 티켓을 만들어 아이디어를 선불에 대해 논의하여 모든 사람을위한 노력을 덜 보장하십시오.
귀하의 기여가 다음을 준수하는지 확인하십시오.
이 프로젝트는 COPYING 파일의 저장소에 포함 된 GNU Lesser General Public License v2.1에 따라 라이센스가 부여됩니다.
Apple, iPhone, iPad, iPod, iPod T
이 프로젝트는 독립 소프트웨어 라이브러리이며 Apple Inc.에서 승인, 후원 또는 다른 승인을받지 않았습니다.
ReadMe 업데이트 : 2024-10-22