Making Apple style settings view - ios

I want to make settings in my application like Apple Settings. How can I make settings in such style?
In my mind I need TableView + custom Cells with Images & Switches, but it’s very difficult way to go. I think that XCode has easier and more standart way to do that
Update I'm talking about creating custom in-app settings view, not about Settings.bundle

If you want to do it in the settings app then you need to look up about settings bundles: https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/UserDefaults/Preferences/Preferences.html
If you want to have it look like the settings app but be within your app then I'd recommend InAppSettingsKit: http://www.inappsettingskit.com

I'm newbie, so i didn't know how to do ViewController like Apple Settings inside application. Now i know that, so answering on my question.
You can make settings in your application in 2 ways:
Make settings via settings.bundle, that settings will appear in Settings.app (not in your app). More at: https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/UserDefaults/Preferences/Preferences.html.
Make UITableViewController and there you can customize cells to appear like native Apple Settings.

Related

Add "Keyboards" In App Settings

How can you add the Keyboards option in the settings of an app?
Like such:
I know the Siri & Search keys you must enter in your Info.plist, but I wasn't able to find how to directly add the keyboards option.
The purpose is to be able to turn on a custom keyboard from the apps settings rather than going through General > Keyboards > Add Keyboard.
If the answer is "You can not", how can you add a keyboard from within the app's own settings. There are several keyboard applications out there that have this feature, so unless it's a private deal with Apple I'm sure there is a way to do this.
Simply removing and adding the keyboard extension to an already existing project added the necessary elements to the info.plist. Not sure if this was a bug, software glitch on my end, or the alignment of the planets... all I know is that it is fixed now. Cheers!

is it possible to change the LaunchScreen Storyboard according to the country/region or default language of device?

i am developing an iOS app in which i want to show the LaunchScreen/SplashScreen according to the user's desired region or the default language of device amongst the other LaunchScreen stroyboards that i have made, i searched a lot but nothing much helped me so is this possible?
Thanks in advance!!
Who say It's not possible
Select project and add localization as below image
Add any language
Select desired storyboards
And here you can see storyboard for different languages.
---------------------------------- Test your localization --------------------
Edit your target scheme
Change Application language as below images and then run your app
Unfortunately this isn't something you can do.
According to Apple's documentation on Launch Screens, the launch screen should not contain any branding or text, so therefore can't be localised:
Avoid including text on your launch screen. Because launch screens are static, any displayed text won’t be localized.
If you want some localised text, you will have to present a custom view controller as your initial view controller as that will be localisable as any other view controller.
Yes, it is possible. See here
An iOS application should be internationalized and have a
language.lproj folder for each language it supports. In addition to
providing localized versions of your application’s custom resources,
you can also localize your launch images by placing files with the
same name in your language-specific project directories.
It's not possible.But you can mimic this scenario what just ankit said.
Keep the launch screen blank and didFinishLaunchingWithOptions function create a view controller with region specific content.
Below thread might help you.This was basically to add animation and your's quest was region specific but logic is same though. :)
how-to-add-animation-to-launch-screen-in-ios-9-3-using-objective-c

XCode Custom Keyboard's additional settings

I am trying to figure out how to create additional settings inside of the Settings app on iOS. Right now I am using the Settings.bundle, and it is putting the settings underneath the original keyboard settings. But from what I have seen from other custom keyboards, you can access additional settings by going to Settings->General->Keyboard->Keyboards->Your Keyboard Name->Additional Settings.
Right now I can get to as far as Your Keyboard Name, I have no idea what to implement to be able to make the Additional Settings.
Normally I would google this, but I do not even know what to look for to find this, and all my searches lead me to Settings.bundle.
Any help would be appreciated, thanks.
Also I am doing this in swift, but I do not need the answer in swift if it is not known, I can figure it out myself after I get that nudge.
Never mind, I have found the answer. You need to go into the info plist of the extension, expand nsextension, expand nsextensionattributes, and inside that, set requestopenaccess to yes, that will expand the keyboards settings to allow you to set open access or not

How to develop dynamic iOS settings menu

if you are developing Android apps, you can just create a PreferenceScreen/Activity and then link some preference items which are declared in a xml file to that screen. So you can build different settings menus and call them from different places in your app. They all use the same style and the same mechanism to save the settings chosen.
I was just wondering, that there is no such function in iOS. We have to call many different settings menus in our app, so how do I archive this? Is it better to design one dynamic settings screen which you can call from anywhere in your app (filled with different information each time), or should we use one big settings menu where all the app-settings live. Is it possible then, to simply jump to "submenus" of this big settings menu?
Should I use iOS Settings Bundle to generate the menu structure in files and then display them in an tableview?
I could find some Settings-Kits like InAppSettingsKit but I don't like to use an open source library for such an important function.
The settings bundle is the right way to add settings to your app.
It's a bit unusual to access settings from within an iOS app, but if you're sure you want to do so then InAppSettingsKit is a good a way to make the in-app settings as similar to the settings app as possible. The fact that it's open source shouldn't put you off - much of the iOS toolchain is open source.
I did a similar thing where I have an enum of menu modes. Each time the a table view cell is selected it changes the mode and redraws the table view. conditionals in numberOfRowsInSection: and numberOfSections: change the layout of the table and conditionals in cellForRowAtIndexPath: change the content, all based on the new mode set. I then spun the content of the table for each mode out into a JSON file and at the beginning read that into a Dictionary which forms the data structure that the table reads from.
I chose JSON as it's easily parsable with NSJSONSerialization

iOS - How to build a subview with "Passcode Lock" look - like in a settings.bundle

I would like to have a subview in settings.bundle which works like the Passcode Lock section in settings -> general.
More specifically, I would like to have a subview with the functionality that I can change an access key used in my app, asking for the old one to change for a new one.
Some one have some code, clue, tutorial?
Thanks in advance.
Have you looked at the apple documentation? It explains how to do this.
http://developer.apple.com/library/ios/#DOCUMENTATION/Cocoa/Conceptual/UserDefaults/Preferences/Preferences.html
Or check this tutorial http://www.informit.com/articles/article.aspx?p=1846575&seqNum=12
If you are wanting to make it look JUST LIKE the passcode lock screen it will be hard to do. Apple limits what a developer can do to the settings menu for their application. You could just put 4 text boxes on the screen but it won't be able to automatically go to the next box since you cannot add code to your settings bundle.

Resources