2009-04-16 3 views

답변

10

을,하지만 난 내 솔루션을 게시하도록하겠습니다 후세.

몇 주 전에 이진 plist serialization을 시작했을 때 외부 프로세스를 시작하는 데 사용할 수있는 유용한 것을 찾지 못했습니다. 그래서 저는 스스로 롤업해야했습니다.

다른 사람들은 C# /.NET 바이너리 plist serialization을 찾고 있는데, 내 구현은 https://github.com/ChadBurggraf/plists-cs입니다.

이 기능을 사용하면 도움이되기를 바랍니다.

+0

Sweet에 포팅 ​​될 수 있습니다! 이 작업을한지 꽤 오래되었지만, 현재 내가하고있는 것처럼 외부 프로세스를 시작하는 대신 추가하는 방법을 살펴 보겠습니다. –

+0

감사합니다.이 기능은 저에게 효과적입니다. – Alex

+0

나를 위해 잘 작동합니다. 좋은 작업. –

1

빠른 구글은 plutil.pl를 보여, 그러나 그것은 단지 펄이 설치되어있는 경우

+0

나는 그 중 하나를 찾았지만, 펄에 내 애플리케이션에 또 다른 요구 사항을 추가하고 싶지는 않습니다. 가장 좋은 방법은 프레임 워크에서 인코딩을 사용할 수 있도록하는 것이지만이 형식을 변환 할 수 있는지 의심 스럽습니다. –

+0

이 유틸리티의 실행 가능 버전을 찾았습니다. 필자는 바이너리 plist를 파일에 작성하고 plutil.exe를 사용하여 일반 XML로 변환 한 다음 결과 파일을 읽는다. –

+0

@ Geir-ToreLindsve - 답변을 게시하고 'plutil.exe'를 찾은 곳/경로에 대한 링크를 제공해주십시오 - 공유하십시오. –

0

당신이 OS X에 코드 변환을 수행 할 경우 (내가 꽤 확신하는 윈도우의 기본 아닌) 작동합니다 옆에, this 이전 질문은 당신의 대답이 있습니다. 또는 OS X에서 plutil 명령 줄 유틸리티를 사용하여 바이너리 및 XML 속성 목록간에 변환 할 수 있습니다.

+0

고마워,하지만 내 .NET 응용 프로그램에서 런타임에 이진 형식의 plist 읽을 수 있어야합니다. 그 이유는 CoreData가이 형식으로 메타 데이터를 저장하고 Mac 버전과 동일한 데이터 파일을 읽어야하는 크로스 플랫폼 응용 프로그램이 있기 때문입니다. 신뢰할 수있는 방법을 아직 찾지 못한 상태에서 별도의 테이블에 메타 데이터를 복사하여 제거해야 할 수도 있습니다. –

1

나는 아래의 솔루션 중 하나를 시도하지 않은, 나는이 페이지는 바이너리 PLIST 파서는 자바로 구현 한

... 당신은 C#하지만 찾고 있던 알고
http://www.java2s.com/Open-Source/Java/Swing/JIDE-Common/com/jidesoft/plaf/aqua/BinaryPListParser.java.htm

Java Quaqua 프로젝트 (https://quaqua.dev.java.net/)는 바이너리 plist java 파서를 사용합니다. 당신은 http://www.randelshofer.ch/quaqua/javadoc/ch/randelshofer/quaqua/util/BinaryPListParser.html

+0

링크를 제공해 주셔서 감사합니다. 어쩌면 그것은 C# –