Starting from:

$30

Mobile Application Development Homework 6



CptS 479 Mobile Application Development
Homework 6

General Instructions: Put the entire app directory into one zip file and submit as an attachment
under Content à Homework 6 for this course on the Blackboard Learn system by the above
deadline. Note that you may submit multiple times, but only the most recent entry submitted before
the above deadline will be graded.
For this homework you will implement a standalone app to manage local and device settings for
the Quiz App. This should be a new Xcode project, not an addition to a previous Quiz app. You
will manage three local settings: user name, whether to shuffle questions, and the time limit for
each question. You will manage two device settings: quiz category, and whether to automatically
download new content. All these settings should be stored in the UserDefaults singleton class and
persist even if the app is terminated and restarted. See screenshots below. Specifically,
1. Create a new Xcode project called QuizApp that consists of a Navigation Controller and a
Settings Table View Controller. The navigation bar should have prompt “Quiz App” and
title “Settings”. The table should have static content with two groups (“LOCAL
SETTINGS” and “DEVICE SETTINGS”).
2. Add a Settings Bundle to your app. Modify the Root.plist under the Settings.bundle to
contain a multi-value item for the setting “Category” with at least the titles “All”,
“Movies”, “Science”, and “Sports”. The default value should be “All”. You can add more
categories if you want. Also add a toggle switch titled “Auto Download”. The default value
should be “YES”.
3. In the table view, the first group “LOCAL SETTINGS” should have three rows as follows:
a. The first row has a Username label and a text field to change the username. Upon
tapping return on the keyboard, the keyboard should disappear and the username
setting should be updated. The initial default setting should be the empty string.
b. The second row has a Shuffle label, showing the status as “Yes” or “No”, and a
switch to change the shuffle status. The initial default setting should be “Yes”.
c. The third row has a Time Limit label, showing the number of seconds, and a stepper
to change it. The stepper should range from 1 to 30. The initial default setting
should be 5 seconds.
4. The second group “DEVICE SETTINGS” should have two rows: a Category label showing
the category, and an Auto Download label showing whether it is “On” or “Off”. Tapping
on one of these rows should take you to the Device Settings page for this app. Any changes
to the Device Settings for this app should be immediately reflected in the app’s Settings
table view when you return to the app.
2
5. You are recommended to test your final app by first removing it from the simulator/test
device, so that all previously-defined UserDefaults are also removed, and then
reinstalling/rerunning the app to verify correct behavior.
6. Be sure that auto layout constraints are set so that the view elements are appropriately
displayed with no overlap regardless of device orientation.
StoryBoard:
Simulator:

More products