{"id":22310827,"url":"https://github.com/azarattum/uinative","last_synced_at":"2025-07-26T17:02:46.938Z","repository":{"id":116104096,"uuid":"393945710","full_name":"Azarattum/UINative","owner":"Azarattum","description":"Jailbreak tweak to bring some native iOS APIs to web.","archived":false,"fork":false,"pushed_at":"2022-06-09T07:52:00.000Z","size":45,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T23:30:30.846Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Azarattum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-08T11:50:07.000Z","updated_at":"2021-12-20T10:15:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"2259620c-9c76-46aa-a8e0-8ed067d18b84","html_url":"https://github.com/Azarattum/UINative","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azarattum%2FUINative","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azarattum%2FUINative/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azarattum%2FUINative/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azarattum%2FUINative/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Azarattum","download_url":"https://codeload.github.com/Azarattum/UINative/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245573897,"owners_count":20637674,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-03T21:16:10.850Z","updated_at":"2025-03-26T02:13:24.783Z","avatar_url":"https://github.com/Azarattum.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UI Native\nJailbreak tweak to bring some native iOS APIs to web.\n\n## Curretly Supported APIs:\n### Feedback\n  \n- Usage: `UINative.feedback(\u003ctype\u003e)`\n- Types: `selection`, `light`, `medium`, `heavy`, `rigid`, `soft`, `success`, `warning`, `error`\n- Example:\n```JavaScript\nif (window.UINative) {\n    UINative.feedback(\"selection\");\n}\n```\n\n### Native Audio (with metadata)\n\n- Enable: `UINative.nativeAudio()`\n- Supported methods: `play`, `pause`, `fastSeek`\n- Supported properties: `currentTime`, `playbackRate`, `volume`, `muted`, `src`, `duration`, `preload`, `paused`, `ended`\n- Supported callbacks: `onplay`, `onplaying`, `onpause`, `onended`, `onseeking`, `onseeked`, `onloadeddata`, `onloadedmetadata`, `oncanplaythrough`, `ontimeupdate`, `onratechange`, `ondurationchange`, `onvolumechange`\n- New callbacks: `onnext`, `onprevious`\n- New properties: `metadata`, `destroyed`\n- Example:\n```JavaScript\nif (window.UINative) {\n    UINative.nativeAudio();\n}\n\nconst audio = new Audio(\"http://example.com/audio.mp3\");\naudio.preload = \"auto\";\naudio.metadata = {\n    title: \"A Song\",\n    artist: \"Somebody\",\n    album: \"Single\",\n    year: 2042,\n    length: 42,\n    cover: \"http://example.com/cover.jpg\"\n};\naudio.play();\naudio.onended = () =\u003e {\n    audio.destroyed = true;\n};\n```\nNote that you need to set `audio.destroyed = true` when you are done with the audio object to avoid memory leaks!\n\n## Building:\nThis tweak is built with [orion](https://github.com/theos/orion) via [theos](https://github.com/theos/theos).\n\nYou need to have these environment variables set (change `\u003cDEVICE IP\u003e`):\n```sh\n#!/bin/sh\n\nexport THEOS=/opt/theos\nexport PATH=$THEOS/bin:$PATH\nexport THEOS_DEVICE_IP=\u003cDEVICE IP\u003e\nexport THEOS_DEVICE_PORT=22\n```\n\nBuild and deploy the package to your phone:\n```sh\nmake do\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazarattum%2Fuinative","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazarattum%2Fuinative","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazarattum%2Fuinative/lists"}