{"id":26159718,"url":"https://github.com/yauhenbichel/audioplayer","last_synced_at":"2026-04-29T01:01:48.626Z","repository":{"id":171940370,"uuid":"166971257","full_name":"YauhenBichel/AudioPlayer","owner":"YauhenBichel","description":"React-native AudioPlayer iOS mobile application with admob banner and playing music from Drive cloud, iCloud drive and from the iphone","archived":false,"fork":false,"pushed_at":"2019-01-26T13:41:10.000Z","size":2091,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-07T11:05:59.745Z","etag":null,"topics":["ios","javascript","mobile-app","react-native"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YauhenBichel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-01-22T10:04:12.000Z","updated_at":"2023-12-15T13:17:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"c4af9d69-3ca5-42b5-8d1e-86e6aeb12e18","html_url":"https://github.com/YauhenBichel/AudioPlayer","commit_stats":null,"previous_names":["yauhenbichel/audioplayer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/YauhenBichel/AudioPlayer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YauhenBichel%2FAudioPlayer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YauhenBichel%2FAudioPlayer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YauhenBichel%2FAudioPlayer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YauhenBichel%2FAudioPlayer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YauhenBichel","download_url":"https://codeload.github.com/YauhenBichel/AudioPlayer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YauhenBichel%2FAudioPlayer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32405903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T19:38:08.556Z","status":"ssl_error","status_checked_at":"2026-04-28T19:37:55.688Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["ios","javascript","mobile-app","react-native"],"created_at":"2025-03-11T11:34:44.382Z","updated_at":"2026-04-29T01:01:48.619Z","avatar_url":"https://github.com/YauhenBichel.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"ClosePlayer - audio player for apple store.\n\nUnfortunately it can not be published because of\n\"\nThis type of app has been identified as one that may violate one or more of the following App Store Review Guidelines. Specifically, these types of apps often:\n5.2.3 - Facilitate illegal file sharing or include the ability to save, convert, or download media from third party sources without explicit authorization from those sources\n\"\n\nPreview:\n\n![screen 1](./preview/IMG_7855.jpg)\n\n------\n\n![screen 2](./preview/IMG_7856.jpg)\n\n------\n\n![screen 3](./preview/IMG_7857.jpg)\n\n\n### development\n\nNeed to remove files in document folder\n\n- .xcodeproj vs .xcworkspace\n Navigate to the ios folder in your project,\n then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace,\n  within it using Xcode.\n\n- export PATH=\"/Users/yauhenbichel/.npm-packages/bin:$PATH\"\n- react-native run-ios\n\n- https://www.npmjs.com/package/react-native-sound\n    - npm install react-native-sound --save\n    - react-native link react-native-sound\n\n\n- add index.ios.js - copy index.js\n\n- play in background\n```\n\u003ckey\u003eUIBackgroundModes\u003c/key\u003e\n    \u003carray\u003e\n        \u003cstring\u003eaudio\u003c/string\u003e\n    \u003c/array\u003e\n```\n\n- mobile vs simulator\n```\nNSURL *jsCodeLocation;\n      // on my mobile\n      //jsCodeLocation = [[NSBundle mainBundle] URLForResource:@\"main\" withExtension:@\"jsbundle\"];\n      // on simulator\n      jsCodeLocation = [[RCTBundleURLProvider sharedSettings]jsBundleURLForBundleRoot:@\"index.ios\" fallbackResource:nil];\n```\n\n\n- for production\n    - remove NSExceptionDomains\n\n\n- react-native-document-picker\n    - npm i --save react-native-document-picker\n    - react-native link\n    - You need to enable iCloud Documents to access iCloud\n\n- use https://github.com/Elyx0/react-native-document-picker/tree/v3\nfor supporting multiple files selecting\n\n- using v 3 with private npm pakcage\n    - https://docs.npmjs.com/creating-and-publishing-private-packages\n    - https://docs.npmjs.com/configuring-your-registry-settings-as-an-npm-enterprise-user#using-npmrc-to-manage-multiple-profiles-for-different-registries\n\n\n    To install npmrc, on the command line, run\n    -    npm i npmrc -g\n    -    export PATH=\"/Users/yauhenbichel/.npm-packages/bin:$PATH\"\n    -    npmrc -c eugenebichel\n    -    npm config set registry https://registry.eugenebichel-registry.npme.io/\n\n    - npm config set registry \"https://registry.npmjs.com/\"\n\n- No bundle URL present.\n  Make sure you’re running a packager server or have included\n  a .jsbundle file in your application bundle.\n\n    - set project settings - legacy\n\n    - remove build folder and run-ios again\n    - remove for production\n    ```\n    \u003ckey\u003eNSExceptionDomains\u003c/key\u003e\n    \t\t\u003cdict\u003e\n    \t\t\t\u003ckey\u003elocalhost\u003c/key\u003e\n    \t\t\t\u003cdict\u003e\n    \t\t\t\t\u003ckey\u003eNSExceptionAllowsInsecureHTTPLoads\u003c/key\u003e\n    \t\t\t\t\u003ctrue/\u003e\n    \t\t\t\u003c/dict\u003e\n    \t\t\u003c/dict\u003e\n    ```\n\n\n    - kill process in 8081\n        - lsof -i :8081\n        - kill -9 \u003cpid\u003e\n\n    - react-native run-ios --configuration Release\n\n    - react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios\n\n- timeout for loading music\nhttps://github.com/zmxv/react-native-sound/issues/89\n\n```\n\nconst callback = (error, sound) =\u003e {\n\t\tif (error) {\n\t\t\tconsole.warn(\"callback error\");\n\t\t\tconsole.warn(error);\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.warn(\"callback\");\n\t\tconsole.warn(sound);\n\t};\n\n\treturn setTimeout(() =\u003e {\n\t\tlet sound = new Sound(url, '', (error) =\u003e callback(error, sound));\n\n\t\tsetTimeout(() =\u003e {\n\t\t\tsound.play((success) =\u003e {\n\t\t\t\tconsole.warn(\"sound.play callback\");\n\t\t\t\tsound.release();\n\t\t\t});\n\t\t}, 500);\n\n\t\treturn sound\n\t}, 500);\n\n```\n\n\n- console.warn for displaying console logs\n\n- npm install react-native-fs --save\n- react-native link react-native-fs\n\n\n- npm install --save-dev babel-plugin-module-resolver\n\n\n- main.jsbundle does not exist\n\nhttps://github.com/facebook/react-native/issues/15432\n\nhis happens when there is no offline bundle file in your project, I had the same problem and this worked for me.\n\nIf you're running on the device, check the Running On Device docs\n\nI added the below to my package.json file so I don't have to type it every time I want to generate an offline bundle\n\n\"build:ios\": \"react-native bundle --entry-file='index.ios.js' --bundle-output='./ios/YourAppName/main.jsbundle'\n--dev=false --platform='ios' --assets-dest='./'\"\nAnd you can run it like this npm run build:ios\n\nYou'll see the main.jsbundle file generated inside your ios/YourAppName directory\n\nNext, open your project using XCode, right click on your project name then click Add Files to \"YourProjectName\",\nchoose the main.jsbundle file that was generated, and then build again.\n\nThat should do it.\n\n\nreact-native bundle --platform ios --assets-dest ./ --dev false --entry-file index.ios.js\n--bundle-output ./ios/AudioPlayer/main.jsbundle\n\nWhen you are generating bundle , Also put --assets-dest ./\n\"react-native bundle --platform ios --assets-dest ./ --dev false --entry-file index.ios.js --bundle-output\niOS/main.jsbundle\"\nIt will generate main.jsbundle and Assets folder . Go to your Xcode right click add files to project\nand add main.jsbundle file to project. Also drag and drop Assets folder and select create by reference\n(note: do not select create group).\ni was using react 0.33, main.jsbundle is using assets(small a) folder but generating Assets(Caps A).\n I just changed the generated folder from Assets to assets and import it to xcode and it start working\n\n--------------------------\n\nRealm is not supporting node v11.0 yet\n\nnode v = 10.13.0\nnpm install -g node@10.13.0\n\nbrew install node@10\n\nnvm install 10 --reinstall-packages-from=node\n\n- yarn add react-native-queue / npm i --save react-native-queue\n- react-native link realm realm@2.19.1\n- yarn add react-native-background-task / npm i --save react-native-background-task\n- react-native link react-native-background-task\n- yarn add react-native-background-fetch@2.0.x / npm i --save react-native-background-fetch@2.0.x\n- react-native link react-native-background-fetch\n\n\nreact-native: export PATH=\"/Users/yauhenbichel/.npm-packages/bin:$PATH\"\nnode: export PATH=\"/usr/local/opt/node@10/bin:$PATH\"\nexport PATH=\"/usr/local/opt/node@10/bin:$PATH\" \u003e\u003e ~/.bash_profile\nnvm: . ~/.nvm/nvm.sh\n\n-------------\nnvm use node\nnvm alias default node\n-------------\n\nnode@10 is keg-only, which means it was not symlinked into /usr/local,\nbecause this is an alternate version of another formula.\n\nIf you need to have node@10 first in your PATH run:\n  echo 'export PATH=\"/usr/local/opt/node@10/bin:$PATH\"' \u003e\u003e ~/.bash_profile\n\nFor compilers to find node@10 you may need to set:\n  export LDFLAGS=\"-L/usr/local/opt/node@10/lib\"\n  export CPPFLAGS=\"-I/usr/local/opt/node@10/include\"\n\n------------\n\nnpm install --save react-native-modal\n\n-------------\n\nyarn add react-native-background-timer / npm i --save react-native-background-timer\nreact-native link\n\n--------------\n\nnpm install --save utf8\n\n-------------\n\nnpm install --save react-native-swipeout\n\n-------------\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyauhenbichel%2Faudioplayer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyauhenbichel%2Faudioplayer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyauhenbichel%2Faudioplayer/lists"}