Objective-C API & Unity iOS Plugin

Avg Bid (USD)
Project Budget (USD)
$250 - $750

Project Description:

• Company requires Contractor to implement:
-a) a stable, build-ready iOS Xcode project with Objective-C source that provides a music player widgets to existing mobile apps
-This target of this project should be a simple static library
-Must provide two widgets:
-1) Widget that displays collection of music genres (e.g. "Pop","Hip Hop","Electronic") in the provided widget
-List of genres is provided via HTTP request (JSON-encoded response)
-User can tap on which genre they want to hear in the app; after tapping user, a song is chosen (from the genre) and Widget #2 is displayed
-2) Widget that displays name of current song playing along with song info, scrolling along a marquee
-Scrolls text information retrieve from JSON-encoded HTTP response

-b) a plugin for Unity 3.5 iOS Pro that exposes the Objective-C API from a) to Unity iOS projects via a simple-to-use C# wrapper

• Company provides Contract with art assets for music player widget in PSD
-Contract integrates assets efficiently into an iOS/Xcode project
-See attached images

Code Guidelines:

• All code (Objective-C and C#) must be clearly commented in English
• Unity C# wrapper plugin should only expose the minimum necessary functions to make use of underlying native Objective-C API
• Any server-side code should be in PHP, HTML, or JavaScript

Feature Requirements:
• Tap Genre from Selection Widget (Widget #1)
-Genres displayed in widget
-Song (that is genre) starts playing after user selects genre
-Make use of sample HTTP request (e.g. http://testserver/api?cmd=getSongByGenre&genreId=123)
-Returns song data
-Text should be implemented so that it can be changed in code (not baked into images)

• Music Player Widget (Widget #2)
-Shows name of currently playing song (song chosen from http://testserver/api?cmd=getSongByGenre&genreId=123)
-Displays a simple dialog box when song ends ("Rate Song: Thumbs up or Thumbs down")

Tech Requirements:

• Core widget display code should be written in Objective-C

• Widgets should be displayed via efficient, native code on iOS
-Should not impact frame rate of underlying game

• Unity Plugin
-C# wrapper, calling to Objective-C API entry point
-Should detect when in Editor/on Device and behave accordingly

• Data Model
-API should make an HTTP request which provides a JSON-encoded response which details:
-Song Name
-Song Genre
-Song Length (in float seconds)

-API should request binary data for .mp3
-if necessary, include a field like "file pathname" in the HTTP request mentioned above

• UI Display model
-Objective-C UI code should make use of the data from the provided Photoshop files (.psd)
-Widget should provide a scrolling text box (similar to iTunes) for the text shown in the widget for the Widget #2
-Make sure there is a function callback for whatever selection the user selects in "Thumbs up/down" for Rate Song

Skills required:
Objective C, Unity 3D
Additional Files: Music_Player_Widget_Spec.pdf Sample_02.png Sample_01.png HamsterRun_Sample_01.png Widget-diagram.png
About the employer:
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.