Objective-C API & Unity iOS Plugin



• 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: Objective C, Unity 3D

See more: unity ios plugin, ios unity plugin, ios build plugin unity, ios plugin, unity ios pro, ios unity json, ios objective api, objective api, xcode 2.1, unity html 5, unity contract, unity 3d overview, unity 3d model frame, unity 3d model files, unity 3d model assets, unity 3d library, unity 3d game source code, thumbs up 3d model, the tech game, the tap 3d model, text 3d model, tech target, target 3d model, tap 3d model, source data entry device

Project ID: #4354320