Log all installed applications
Legoless opened this issue · 5 comments
Create a list of installed applications on device by checking URL schemas
Does you have any icon for Applications list
plugin? What is practice for icons in pull-request? Should we create them ourself?
I'm currently working on this issue and close to finish it but icon really stops me :).
Currently we do not have an icon for that, so you are free to create it yourself. Let me know if you need any help with it.
The current practice is to have the icon drawn in Core Graphics (I really want to avoid shipping external resources). So all the icons you currently see are also drawn like that. Take a look at one of the plugins for example, such as screenshot plugin.
Usually what I do is: design the icon in Photoshop or Illustrator and import it into PaintCode, which generates Core Graphics code for me.
The general way to add an icon is:
- Create an
Assets
folder in plugin - Create a subclass that will represent the icon - extend ALPHAAsset class
- Set the
drawingSize
anddrawingBlock
properties, see example: https://github.com/Legoless/Alpha/blob/master/Alpha/Plugins/Screenshot/Assets/ALPHAScreenshotIcon.m
DrawingSize
property tells the system of the default icon size, this is used to calculate the proper scale. In general it is fine, if you leave it as it is by default. In either case, drawing block will gets a CGRect
when called, so icon must be drawn dynamically according to the provided frame rect.
Thanks for great comment. I really had implemented my icon by this way as well as has used ALPHAScreenshotIcon.m
as an example. I think we can use this comment as some kind of documentation for wiki-pages.
As well I'm close to finish my work on Applications list.
Currently it uses private API so we are getting truly list of all apps. I'm working on categories as User
,System
and Internal
apps.
Yes, you are correct, Wiki really needs a lot of work. I'll do my best to update it, but it will take some time.
It is fine if you use private API, I'm doing that on several places inside Alpha. As long as it builds via CocoaPods, because linking private frameworks with CocoaPods is not yet possible (or I just can't find a normal way).
For now it is not meant for Apps to ship with Alpha to the App Store, but we'll separate that functionality later in the future, so certain plugins will be possible to be shipped. Might need to add a disclaimer to the readme though.