Comments (4)
Found the key names per Darwin OS here: https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html
Unless they have a better source like xml I will have to scrape the pages and sub pages to build a JSON or yaml file that can be the basis for the plist functionality of parsing for correctness, etc
the main use is to generate Plist files from known constants.
from go-plist.
@gedw99 thanks for filing this! I'm not totally sure what you're asking for, unfortunately. This library supports parsing a plist into fully type-specified storage.
Reading between the lines, though... are you looking for a tool or specification document that will allow you to produce a type description of an existing property list document?
Something like that could be done with type assertions over a map[string]interface{}
that you populate using this library, but there's no out-of-the-box support for making that.
Unfortunately, the property list schema only documents what a property list is... and there is no existing schema documentation for different types of plist documents. There's no source that will help you figure out what any given document should contain.
from go-plist.
Hey @DHowett
Sorry i wrote the original issue from a mobile and realised how my spelling screwed it up.
So basically in the GIOUI project ( https://github.com/gioui ) you can target Web, Desktop and Mobile ( and Apple TV ), and so i am working on a way for each golang package to be able to add to the Packaging Manifest ( Plist for Apple hardware), and so easily build correct manifests.
Here is an example GIOUI project that does Notifications and so needs a Manifest for Security reasons: https://github.com/gioui/gio-example/blob/main/x/notify
https://github.com/gioui/gio-example/blob/main/x/notify/example.app/Contents/Info.plist
Then i had the idea that we also built golang strongly typed PList constants by scraping the Apple web site for then, and generating the Constant with nice Comments.
The Golang packages can then use the constants to build a Manifest.
Plus as a bonus we can parse a Manifest and check the Dictionary keys ( as Apple calls them ) are correct.
Does this make more sense now ???
from go-plist.
I also intend to do the same for Android and Web Manifests.
from go-plist.
Related Issues (20)
- Missing support for GNUstep <[ base64data ]> HOT 1
- Marshalling happens in reverse order. HOT 3
- Turn UID into CF$UID for (GNUstep) text format too
- OpenStepFormat parsing can't handle escaped quotations HOT 2
- Byte summary case isn't handled HOT 4
- gitlab.howett.net down? HOT 6
- Error: reflect: call of reflect.Value.Type on zero Value HOT 1
- marshal byte array failed HOT 2
- how to define nested structure HOT 2
- Don't panic, use error returns!
- Encoding of aposthropes for OpenStep formatted plists HOT 1
- Module naming in go.mod uses the module "howett.net/plist" instead of "github.com/DHowett/go-plist" HOT 1
- Can't decode plist file that contains <array> HOT 3
- How to handle plists with keys with commas? HOT 1
- Question: flatten property
- Embedded structs' fields are not omitted HOT 2
- Error parsing some seemingly valid binary plists (illegal integer size) HOT 1
- Question/Help: How to parse terminal theme file? HOT 1
- plist.Marshal("aaa", plist.BinaryFormat) is not return the expected value HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
đ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. đđđ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google â¤ī¸ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-plist.