Xcode-Project-Reader icon indicating copy to clipboard operation
Xcode-Project-Reader copied to clipboard

Identify goals for future development.

Open mralexgray opened this issue 11 years ago • 5 comments

Starting an issue on this as there are several ways to go... but the scope and inspiration needs to be figured out first. There few good Xcode parsers out there.. I;ll share my findings later... But to start off.. how well does this thing "create" a project... either from scratch.,. or from an existing file? Can it make XIBS? Plists? schemes? targets? there's a lot of crap in an xcodeproj and part of knowing what to do next is knowing what it already does... any insight you can give on current state would be great and then ill dive into it again with that knowledge.

mralexgray avatar Oct 13 '13 07:10 mralexgray

Targets are all handled within the pbxproj file (PBXBuildTarget and related if I recall correctly), this can be an extension to this project to add some methods to add and remove targets.

Schemes are handled within the files in xcuserdata/username.xcuserdata/xcschemes within the xcodeproj bundle. On a newer version of this project I have some handling for adding and detecting schemes.

XIBs are a completely different matter they are XML based however at the same time I was writing this (probably 1 or 2 years ago) I did also create a XIB parser along with an iPad interface for it however it was very complex and incomplete. A small clip of it can be seen here: http://d.pr/v/AGD9

As for plists it depends what exactly do you mean?

SquaredTiki avatar Oct 13 '13 09:10 SquaredTiki

wow.. my mind is blown... that is THE most interesting alternative to IB I've ever seen. I would assume that was working on pre XC5 XIBs.... have you looked at the new file format... it is FAR simpler and WAY more semantic.... is that all in a UIView? Follow me for a sec.. What would really be revolutionary is that kind of interface, but in a a web view... (or what is the logical extension of a web view... nudge nudge).. i am working on some cool socket stuff that could be a good match for something like that... how are you "virtualizing" the displayed preview? are you rasterizing the view somehow and showing a representation of it? or is it actually a dynamic RT interface? and the connections, are they something weird, or are you just creating properties and outlets on the fly? tell me more.

mralexgray avatar Oct 13 '13 10:10 mralexgray

Yes, that was with pre XC5 XIBS which had a lot more ugly XML. It will need quite a bit of work to bring it up to modern standards (this was pre ARC) and a lot of refactoring. The preview is within a UIView, it adds the view's themselves as taken from the XIB file. So if it sees a UITextField being declared within the XML then that is what it adds to the 'stage' as I called it. The connections are defined in a plist I called classDatabase in which I began listing the actions and outlets each class had. Once they are connected up they are saved back into the XIB. This is all in the old format of course.

SquaredTiki avatar Oct 13 '13 10:10 SquaredTiki

Ok, so I had an idea. What I don't like about CocoaPods is that it duplicates / defeats the purpose of git submodules. What if we used a git parser.. I like objective git... to accept a git URL... and add the submodule and integrate the project, a la cocoa pods.. but while remaining a git only workflow?

mralexgray avatar Oct 18 '13 23:10 mralexgray

That's a neat idea, as this is going off more into general app ideas I suggest you ping me an email regarding your thoughts.

SquaredTiki avatar Oct 18 '13 23:10 SquaredTiki