New iOS app development

Job ID: 32444913

Budget: $8 – $15 USD

The purpose of this Statement of Work (“SOW”) is to obtain services in support of the user experience test and evaluation stage of a new iOS based iPhone application. This evaluation stage creates a new iOS app with minimal function screens and implements device peripheral control using the Apple Core Bluetooth functions. All Bluetooth services, structures and parameters will be provided by the client. It is expected the tasks contained herein will require an early to mid-level developer with solid knowledge and experience with Xcode (v13 preferred), SwiftUI and the Apple iOS frameworks and libraries. Basic knowledge of CoreBluetooth is useful yet the Apple examples demonstrate what is needed.

The deliverable will be a functional iOS iPhone app meeting the SOW and compliant with Apple Computer Developer standards and terms, in Xcode, using SwiftUI and the Apple frameworks and SDKs. The resulting Xcode project will be built by the developer for at least two and no more than four iPhones for testing. The project will be placed the the clients Apple developer space and the project cloned and successfully built again by the client.

The proposed iOS iPhone app has fourteen screens of which about half have active functions while the others are minimal placeholders to demonstrate a proposed user experience. The screens have many common views, menus, lists and actions which may be cloned. All the screen are created with SwiftUI and client supplied artwork.

The app uses Apple Core Bluetooth for the device control and monitoring and has two BLE Services with corresponding Characteristics. Except for a singe event of header data all data sent to the Device is initiated by button actions and are static. The data retrieved from the Peripheral is not parsed, only displayed. The app has a single NFC NDEF call with an alert message. This call reads a passive NDEF tag retrieving a single text string which is displayed without parsing. A single face/fingerprint ID authentication call validates the app user. A single Location Services call and MapKit display are used on a single screen displaying the current iPhone location. A single barometric sensor call is used on one screen, no other sensors are used. Three BLE characteristic integers received from the peripheral use bitwise operations to set the colors of three SwiftUI charts. Two placeholder screens display a vertical list, with identical format, created by a single client supplied static JSON file. One placeholder screen displays a vertical scrolling list created by retrieving random entries from the iPhone Contact list. INo keyboard entry, wifi, cellular or internet access is used. No complex calculations, look-up tables or database are used. The BLE parameters and UUID’s, JSON file and images are provided by the client.

It is the intent of this project to keep the solutions and development as simple as practical using existing app templates when possible. The look and features of SwiftUI and Apple frameworks take priority over other aesthetics. The placeholder screens are to be as simple as practical with the intent to show the basic user experience, not valid data. Time is of the essence with speed to completion having more importance than code reusability.
Related categories: Swift iOS Development Apple Xcode