Skip to main content
This guide walks you through the entire flow before a production integration. Starting from nothing, you’ll go step by step: issue keys → confirm infrastructure → build the app → try it out. (Build takes about 5 minutes.)

Overview


1. Prepare keys

Running the demo requires three keys. Receiving them from your contact is the fastest path.
The OneS1ght SDK key (ock_) and the GeoSpace SDK key (gsk_) are different keys. Both consoles have an “SDK Key” menu, so use the prefix to tell them apart.
After issuing the partner key (gpk_), register it in OneS1ght console → Settings → Positioning connection to connect real floor plan and zone data.

2. Positioning infrastructure (demo: ready)

Positioning requires spaces (building, floor, plan) and locators (UWB anchors) to be set up. This is already done at the demo site, so you can skip this step. If you’d like to see the full process:

Build spaces

Create buildings and floors, upload floor plans

Locator setup

Register hardware → install and measure on site → place on the plan
Demo site configuration
  • Korea: Geumjeong Station skv1 · Room 607 (for verifying positioning)
  • Japan: Akasaka 35 Kowa Building · 304 — a conference room measuring approx. 5.6 × 11.3 m, with 4 anchors placed at the corners
To register a new location, first take interior measurements of the target space, then set up the floor plan through Build spaces (building, floor, plan upload) → Locator setup (anchor installation, measurement, placement).

3. Create areas (zones)

You can create event areas in two ways.

Drawing manually (Space management)

1

Select area (building) and floor

Choose the target floor from the list of buildings and floors registered in GeoSpace Intelligence.
2

Draw the zone

Press [Draw zone] and click on the plan — click: add vertex · double-click: close · ESC: cancel (4 points minimum). Name the zone and press [Save] to add it to the zone list.
3

Select and delete

Use [Select] to enter selection mode, pick an existing zone, and remove it with [Delete].
4

Save

Pressing [Save] stores your changes to GeoSpace Intelligence.
Drawing a zone in Space management (steps annotated)

Space management — drawing a zone: ① select building and floor ② draw zone ③ select ④ delete ⑤ save ⑥ draw on the plan

On floors with no zones, the demo app polls for zone registration once per second — whichever method you use, the zone appears on the app’s map within a few seconds. Try creating one live during the demo.

4. Build the demo app

What you need

4-1. Clone the repository

4-2. Create the key file

If you received a secrets.sqlite file, simply copy it to the following location:
If you received only the key values, run the command below from the repository folder, replacing each <…> with your key. (Uses sqlite3, built into macOS — no installation needed.)
Never commit the keys you received to a repository or post them in a public channel.

4-3. Open in Xcode

If you have iOS development experience, you can skip 4-4 and 4-5 — they cover the usual signing and device setup. (In short: sign with a Personal Team, and enable Developer Mode on the device.)

4-4. Set up signing (first time only)

Add your Apple ID to Xcode — no paid developer membership required; your everyday Apple ID works.
1

Add your account

Xcode → Settings… (Cmd+,) → Accounts tab → + at the bottom left → sign in with your Apple ID (a two-factor code will arrive on your iPhone)
2

Assign signing to the project

Click the blue project icon (oneS1ghtSdk) at the top of the file list → TARGETS → oneS1ghtSdkSigning & Capabilities tab → select your account under Team (Your Name (Personal Team))
3

If the bundle ID conflicts

If you see “Bundle identifier is not available”, append any characters to the Bundle Identifier (for example …demo…demo2). The error disappears once it’s unique.

4-5. Prepare your iPhone (first time only)

1

Trust this computer

Connect your iPhone by cable → tap Trust on the “Trust This Computer?” prompt and enter your passcode
2

Enable Developer Mode

On your iPhone: Settings → Privacy & Security → Developer Mode → turn on → restartNote: the “Developer Mode” entry appears only after connecting the iPhone to a Mac once.
Without Developer Mode enabled, Xcode shows the device as unavailable and cannot run the app.

4-6. Run

  1. Select your iPhone in the device picker at the top of Xcode (not a simulator)
  2. Press ▶ Run (Cmd+R) — the first build may take a few minutes
  3. If blocked by “Untrusted Developer”: on your iPhone go to Settings → General → VPN & Device Management → Developer App → Trust, then run again
Free-account signing expires after 7 days. When it does, connect the cable and run again to reinstall.

5. Try it out

  1. Launch the app → allow all permission requests (location, nearby interaction)
  2. Select a building / floor at the top → the plan loads. This list shows buildings and floors registered through positioning infrastructure (GeoSpace). The entries below are examples currently registered in the demo environment. (Default selection follows the system language: Korean → Geumjeong Station skv1 · Room 607 / Japanese → Akasaka 35 Kowa Building · 304)
  3. Once the status reads Ready, tap [Find my location]
  4. The red dot on the plan is your real-time location
  5. Walk into a blue area (zone) — it turns red, and if an event is queued on the server a coupon popup appears
Coupon events are queued on the server by your contact during the demo. While you are inside a zone, the app checks the server once per second and shows the event as a popup immediately (one coupon per session). If no coupon appears after entering a zone, ask your contact whether the event was queued.

What it looks like when working

Ready screen with zone displayed and start button

① Ready — plan loaded with the event zone (blue area) shown, start button enabled (Geumjeong Station skv1 · Room 607)

Locating screen with red dot and coordinates on the plan

② Locating — the red dot is your real-time position; ↻ refresh at the top right (Akasaka 35 Kowa Building · 304)

The app UI follows your system language — the screenshots above are from a device set to Japanese. On floors without anchors, you can view the plan but the start button is disabled (“Positioning isn’t available on this floor”) — this is expected.

Screen and features

Switching buildings or floors reloads the plan and settings — this can take a few seconds depending on server response, so please wait while the loading indicator is shown.

Troubleshooting

Languages

The app follows your system language: English · 한국어 · 日本語 (other languages fall back to Korean)
To demo in another language — change it in Settings → General → Language & Region → iPhone Language on your iPhone, then relaunch the app. Setting Japanese also makes the Japan site (Akasaka) the default building.
The iPhone language applies to the entire device — remember to switch it back after the demo.

Next steps

SDK integration (production)

Once you’ve seen the flow in the demo, integrate the SDK into your own app.

Space management (areas & zones)

Edit event areas on the floor plan.