iOS User Interface Customization Kits? - ios

I know that recent versions of iOS have added support for easy customization of the look and feel of its components through its "appearance" functionality. However, I'm not exactly artistically inclined.
Does anyone know of a resource that provides pre-packaged user interface customization kits that are easy to plugin using the iOS appearance APIs? I'm looking for high-quality look & feel, but also would like to see sample code showing how to integrate it into an application. I don't really care if its for purchase or free. I just would like something that looks really slick and high quality. Thoughts?
UPDATE: Okay, I found a site that does offer what I was looking for. AppDesignVault.com has pre-packaged app templates (graphics, code, etc.) for iOS applications. However, I find it hard to believe they're the only ones that offer this. Has anyone come across similar resources or packages?

Not exactly a drop-in replacement, but you might want to take a look at NUI which is an open-source UI styling library with theme support (themes are written in a CSS styled markup language). Another great resource to look for ready UI components is cocoa controls, again, not exactly drop-in and forgot, but still better than implementing it yourself (although the quality of the stuff there varies a lot).
I'm not aware of any drop-in replacement which offers ready made styles, but I hope these two get you somehow started.

There are so many more, right here.
Once you have those designs, here's a tutorial to actually implement them in iOS 6.

This is objc custom libs I like and use: http://www.objclibs.com/# . Maybe one of those will strike your fancy?

Related

Can i use Google Oboe or AAudio in iOS ? https://github.com/google/oboe

I want to use C++ library which makes it easy to build high-performance audio apps
https://github.com/google/oboe
Google Oboe seems for Android
can i somehow use it for iOS also ? or any similar alternative for iOS ?
I don't want to use Superpowered because of their licence terms!
There are no plans to release an iOS version of Oboe at present. You could look at FMOD or JUCE.
If I remember correctly (from videos of demos at events), The development of this library came from people heavily involved with the Google Android infrastructure, and thus the Oboe library is highly customized to tackle the low-latency short-comings of Android.
This being said, Google would not have the resources to tackle such an intensive and complicated problem for a completely different platform. As well (unfortunately) that wouldn't be in their best interest competitively-speaking.
I have heard of others using Superpowered, but I haven't gotten much info on it honestly, their marketing about it is all fluff, and there isn't any actual useful information, haha. I used Oboe myself, because I needed a dedicated native library.
As for iOS, I found a decent blog page that might be worth checking out: https://exceed7.com/native-audio/
This page suggests using OpenAL for objective-C/Swift. It looks like OpenAL is the similar implementation to OpenSL, which the Oboe library is partially based on. Unity seems to also utilize a library called FMOD (Not familiar with this one myself), as well DonTurner mentioned JUCE?.
So perhaps looking into these would be a good start, although I would assume using OpenAL might have some pretty involved developing, so ready your thinking cap!
Best of luck on your project!
Maybe you are looking for AudioKit
https://github.com/AudioKit/AudioKit

Is there a tutorial for coding a GUI without the inaccessible Interface Builder?

I am totally blind and want to code for IOS and/or OS X. In Xcode 5.1, accessibility is improved, but the interface builder still seems unaccessible for voiceover users (like me).
With that in mind, is there a tutorial for coding OS X and iPhone apps without using interface builder in Xcode? Alternatively, is there a way to use interface builder with voiceover (without sight)? I would deffinately like to use gui tools if any exist, but if I have to hard code the thing, so be it.
Thank you in advance!
My sense of the matter is that you should simply code the interface.
First, autolayout makes this much more sensible than it has been in the past. The "visual" constraint language is really symbolic; made for you.
Second, the binding pane simply won't work for you. Bad design, I guess. But there we are. Use the API.
A number of sighted coders, including Brent Simmons (netnewswire, vesper) scarcely use interface builder. You'll be fine without it.
I have not listened to it but give the following podcast a listen. The description states that it covers interface builder basics.
http://maccessibility.net/2013/01/17/the-maccessibility-dev-podcast-1-using-xcode-with-voiceover/
You may want to consider RubyMotion as an alternative.
Austin Seraphin talks about using RubyMotion as a blind developer in this talk MP3 with slides here at the #inspect2013 conference. I found the talk through a blog posting that mentioned Austin's amazing presentation.
For pure XCode use, I tried experimenting with PaintCode but it was useless in Voice Over mode. You may find Erica Sadun's book on Auto-Layout useful as she goes into detail on the code-based approach. The iBooks link to the second edition is here.
I am humbled by the effort that people like Austin and yourself put forth to overcome your obstacles and try to remember this whenever I'm irritated by the minor inconveniences in my life and software development. It seems fatuous to say thank you but I'd just like to offer my congratulations on what you've achieved so far.

Is it important make use of standard iOS components?

We are creating an iOS app that does not look like any other app you would find in the app store.
My question is, am I allowed to create custom components such as header bars, tab bars, tables etc. for my app and not get rejected by Apple when publishing the app to the app store?
Months of thought and planning has gone into the UI and flow of the app, so the user experience would be superb, we're just concerned about how apple feels about custom apps/components like these?
Regards
There's nothing inherently wrong with creating an app that's got a completely different look and feel to everything else.
But what I would advise is that you try to use the built-in components as much as possible. In recent versions of iOS Apple have introduced a number of APIs to let you customise their look and feel significantly, and some of the most innovative UIs out there are simple table and collection views that have been hacked to pieces.
This is because Apple's built in components have logged many hundreds of thousands (if not millions) of hours of real-world testing and use, and are thus vastly more stable and field-tested than a totally custom component. Plus, they often have various built in features (such as a scroll view's bounce) that are hard to replicate on your own.
So definitely customise your interface as much as you like, but while you're doing it think about whether you can harness the built-in UIKit classes rather than totally re-inventing the wheel.
More and more custom controls appear for iOS every day. If it is so good as you say, Apple will be happy to accept it. Don't worry.
Also take a look at these cocoacontrols
As said before, Apple will not have a problem with that .. as long as you don't use any private APIs. If you are developing these components on your own, you will have to make sure that these will work in future releases (which is not necessarily a bad point) . This may be a problem with third party components, as they may not be continued (or supported in future releases).

Creating own iOS-controls with Flex

I was looking into creating iOS-apps (especially for the iPad) with the Adobe-Flex framework. It looks very promising to code apps this way.
Is it possible to create own controls/widgets? In the far future I might want to create my own kind of gantt-calender or whatever. Is something like this possible and are there any good tutorials/book out there?
Thanks in advance!
UPDATE: I want to create iOS Components that I can use in Flex. Controls, that are not aviable by default in Flex. Is that possible? By derivating or something?
UPDATE 2: In the meanwhile I found FlexLib to be useful. How hard is it to create stuff like this on your own? Especially for mobile devices. Are there any good tutorials, books, etc. out there?
Yes, you can create your own Controls in Flex. They are commonly called Components. I suggest you start by reading the Flex Docs on how to do so. There are also plenty of other resources out there. One is a screencast series that I created for The Flex Show. Here is episode 1.
You had asked:
How hard is it to create stuff like this on your own?
It depends on what the component wants to do. The commercial components we've built at www.flextras.com have taken from three to twelve months to build. Our Calendar is built from scratch, but most of the other components extend existing Flex Framework components.
The Flextras stuff are architected for reuse. A "single use" component for a specific app can be built in 1 hour [and up].
Once again, the purpose of a component will affect how long it takes to build.
#chiffre
Ok, maybe I am guessing wrong but "iOS controls" makes me think not to "flex controls".
Anyway with Flex 4.5.1 you can add any controls you want, the only thing that you must count (and this counts a lot) is performance.
Read especially about item renderers since scrolling list is not so fast on iOS and how you can make use of cacheAsBitmap.
Also keep in mind to always use light controls when needed if not extend base controls like UIComponent or Sprite and not Button if you just need a rectangle.
Here are some links
http://blogs.adobe.com/flashplayer/2011/06/adobe-air-2-7-now-available-ios-apps-4x-faster.html
http://www.adobe.com/devnet/flex/articles/mobile-development-flex-flashbuilder.

iOS sample projects to learn from

I am just starting iOS development. I read some tutorials, watched stuff on iTunes U and wrote some sample code myself. Now I want to take the next step. I want to learn about best practices for iOS development in XCode.
Are there any well written and well organized iOS projects that one could take a look at?
(As I see it, iOS is not exactly the place for open source enthusiasts, however.)
Thanks
Mike.
I agree with several of the other answers that state that looking at many, many projects for mini-examples of what you want to do in your own app is the way to go.
However, you asked for an example of an app demonstrating best practices.
You could do worse than to read Matt Gallagher's blog, Cocoa with Love from beginning to end. However, the app example you asked for is right here.
Not only will it show a variety of techniques, some novel design and best-practices, but also he points out where he feels that he might have done something better.
It's a great read.
I would suggest the following process: (it worked for me)
Think of an advanced app. that you eventually want to be proficient enough to create.
Make a top-down problem-solving tree containing the necessary skills required to build your final app.
Use this tree to divide your final app. into 'sub apps'. Start at the bottom of the tree, find a tutorial specifically for that skill, and make a "Hello World" app. that uses that skill.
Keep progressing upwards, creating 'sub apps' as you go.
When you are finally ready to make your final app. (it will take a while), you will have a good handle on how iOS development works. It will also be a great test of your knowledge via direct application!
Getting the hang of iOS development can be tricky; it really does require a top-down approach, and every online resource I've found takes a linear one. The only way that I think a linear approach to learning iOS development would be manageable, is to take it one small task at a time.
As for specific resources, I always google "[what I want to do] iPhone SDK" and browse the tutorials and forum posts that come up.
Here are some open source iOS apps. However, they aren't very well documented and are also very advanced.
TKAWebView - A subclass of UIWebView that handles authentication and downloading.
Welcome to your Mac - An iOS app. to VNC into a PC/Mac and do some cool stuff.
InAppSettingsKit - A settings screen creator for your apps.
Good luck!
The people behind the Parse platform have made two complete projects.
For each project there is the complete source code, a tutorial and the resulting app is also available from the AppStore.
Anywall: https://parse.com/anywall
Anypic: https://parse.com/anypic
They both rely heavily on the Parse platform as the data source, but you still get a feel for an iOS project.
Molecules is a great open-source app that uses 3D OpenGL to render complex models of molecules.
Just keep coding my friend. You'll learn over a period of time. The best way to get dirty in a mud fight is to jump into it... Weird analogy but you get the point.
Maybe someday, we all will learn from you then !
Like you said there many and many source codes are available internet, but most are incomplete.
I found some Open source codes of REAL application currently available through Apple app store are given here
Free iPhone App Source Codes of real apps
and also, you can find many answers here on stackoverflow question - Are there any Open-source iPhone applications around?
You can download free IOS sample projects from http://devcodemarket.com
I realize this is an old thread but I've also been looking for good objective-c code examples recently and I just realized that TextEdit's source code is available at the Mac Developer Library webpage.
Also, here are some popular objective-c libraries that have caught my attention:
CocoaPods
AFNetworking.
you can also go through UICatalog from Developers Library and download the sample code. just google it and you will find a project containing all basics of iphone.
I don't think there is any perfect project that can demonstrate all the qualities of great code. Developers have stylistic preferences and may make mistakes. That said, you should look at a lot of different projects and try to look at the conventions used.
I'd suggest starting on GitHub. Besides for seeing code, you'll see what libraries are out there, which may help further your projects later on. Here's the Objective-C page on GitHub.
(Also, I (GitHub link) think you're wrong about iOS devs not being in favor open source. Yes, there's money to be made, but you can't sell a CSV paring library on the App Store as is.)
Have a look at https://github.com/mozilla/firefox-ios
That is Firefox for iOS, written in Swift.
Cocoacontrols has a wide range of controls written using Objective-C & Swift.
I believe these days, this is one of the most famous website for iOS Developers.
But, before you jump onto this, you have to learn Objective-C & Swift very well, so that you will understand how to use the controls in your app which makes your app smooth.

Resources