How to make an iOS app start where it left off - ios

I'm making an iOS app through UIStoryboard mode and I wanted to know if there was a way to add something so when the user leaves the application, it'll continue where the user left off next time he launches the application.
By the way, I'm making a simple UIStoryboard application like I mentioned earlier that only has simple pages.
Thanks!

Check out this section in the documentation where Apple briefly touches on this topic.
Preserving the State of Your App’s User Interface
I think this is the general idea of how you would do this, the Three20 framework does this by using URLs, you may attempt to adopt this design as well. This is not to say you should USE Three20 but you can gain some ideas from seeing how they solve this problem.
Persistence in Three20 Framework

Related

Unity window + native iOS window on the same App?

I am building an app for iPad composed of two parts:
a user interface built with cocoa
a Unity scene
And I needed to find a way of integrating both parts and have them communicate with each other.
After a lot of research the best approach that I have found was one based on this tutorial
Basically, I have two UIWindows on my app delegate, one where I keep the hierarchy of all cocoa viewcontrollers and the other is the Unity window. When I want to switch which window is visible I just call [someWindow makeKeyAndVisible]; on the target window. When I need to communicate from the cocoa side to Unity I call UnitySendMessage.
This approach seems to work fairly well in the beginning but as I play with my app and after switching between UIWindows a couple of times, the calls to UnitySendMessage randomly stop producing any effects, the Unity scene stops updating frames and it even reaches a point where the windows don't change anymore and until the app explodes...
Basically, what I would like to know is:
Is this the best approach to integrate Unity and cocoa views? Is
there an 'official' way of doing this? Can anyone point me out an
exhaustive tutorial or sample code?
Being this the best approach, any idea on why does it starts failing
after a while? Do I need to take any precautions when changing
windows? (memory management? Pausing Unity thread?)
Note: I am using Unity Pro, and I have tried both xcode4/ios6 and xcode5/ios7 and the behavior is the same.
Any help would be much appreciated.
The solution we've come to with AteBit is to have the ObjC portion of the application store its data in our SQLite database. The Unity app is constantly polling that database for changes naturally so it is a great fit for a transparent (no pun intended) UI solution.
Separate your UI completely from your data and get yourself some sushi.
Update
Similarly you could use the NSUserDefaults system, which is accessible inside unity using PlayerPrefs.Get# // Set#

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).

disable/hide settings depending on a switch on ios

I've made a settings screen using the Settings.bundle/Root.plist
Recently my client has seen some apps disable options based on a switch. And now they want something like that.
After searching here and apple resources a lot of people say it's not possible, but I see some apps do this. My question is how can i disable or hide an item or group based on other option.
The apps that do what i'm talking about are using the iphone's definition app, so it's not a costume settings screens in app.
Sorry for the bad english. Thank you for any assistance on this matter.
I'm just going to repeat what the others said and say that it is not possible. It is a static list, always. If you think you've seen an app that does do it, please indicate which one that is and what setting this pertains to. I'd be interested to take a look at that.

iOS (iPad) application on Flex/Flash Builder 4.5 - SplitView component?

(Disclaimer: I'm a beginner in mobile application development and I'm quite weak with programming but I'm willing to learn new things and take on new challenges. I apologise in advance if my question turns you off, or if it seems as though I haven't done any research. I did all the research I could but it didn't help me much.)
I'm new to developing iOS applications and my school gave me approximately 5 months to develop an iPad application. I have no knowledge or practice on Objective C so since Flash Builder 4.5 allows the development of mobile applications (and I have experiences with Flash Builder), I decided to develop my application on Flash Builder instead.
Everything is going fine until I was told to include a SplitView in my application. I implemented a List on the left side of the application. Clicking on any of the list items will navigate the user to a to another view but i also included and retained the list on the left side of the new view in order to simulate a "SplitView".
Initially it felt as though it will do the job of a SplitView like how it does when I attempted it on XCODE but it doesn't look or feel natural.
I found this video which shows that it is possible to create a SplitView on FB but I've cracked my brains and I really can't figure out how it is done. Is there anyone who can provide me with a rough guide on how to implement this? Thank you very much in advance.
Edit:
At the moment I implemented
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark">
<s:ViewNavigator id="MainView" left="292" width="732" height="748" firstView="views.MainView"/>
</s:Application>
this way, i can manage to navigate through the views without effecting the Root View Controller. this might not be the best way but it'll suffice at the moment. Are there are any better way to do this?
Take a look at the eskimo library
It has a lot of nice mobile features like "native" look and feel for both android and iOS.
Furthermore, it features some mobile components.
I believe the one you are looking for is called SplitViewApplication.
You will have to download the zip file though to unveil it since it is currently not on the feature list on their website.
EDIT
Apparently, Flex SDK 4.6 also supports this feature.
It has been released 2 days ago. You might want to check that out as well.
Cheers
Looks like HDividedBox is a right component for you.

First Application on IPad: where to set the button event?

I have 4 years experience on DotNet, not much.
I now learned developing for IPad.
I made a new project and opened the MainWindow.xib by double click in the interface builder. Not I put there a label, a textbox and a button.
But how to make the button event?
Kovu, "Paull" already told you. Please understand that I am not being short, cruel or otherwise negative when I suggest that you read more about XCode and MVC. In order to program for iPhoneOS you really need to understand the MVC method of programming. If you don't know what those initials stand for, it means you really should read more before you try your hand at it. iPhoneOS is so totally different than .net that you need to understand basics.
I suggest Erica Sadun's book: (her website is: iPhone Developer's Cookbook) or a great starter article at: BIT-101.
It will get you up and going VERY quickly (inside of a week for me) and does not skimp on the basics. TRUST ME--if you do not understand the basics from the very beginning you will be lost when it comes to developing for iPad (or even iPhone/iPod). The iPad is such a very different beast than Windows .net that you will be surprised the change you will have to go through (for the better) in order to grasp it.
On the positive side, you will become a better programmer. Using the MVC method is really freeing in a lot of ways. Event-driven programming is a wonder to behold when done right, and believe me, Apple did it right (for the most part) in the iPhoneOS.
Read through the getting started guides in the Documentation window of Xcode (under Help).
You just create an IBAction in your controller, and drag a connection from the button to the controller.

Resources