iOS SDK (Core)

Troubleshooting and FAQs

3min

The Troubleshooting section provides solutions to common problems developers might encounter while using the Core SDK for iOS. It offers practical advice on how to diagnose and resolve issues related to installation, integration, and functionality of the SDK.

Troubleshooting

  1. Fetching from Github repository does not work
    • Please review the Installation guide to check how to obtain access to the SDK repository.
  2. Swift Package Manager can't resolve the latest version
    • Try File > Packages > Reset Package Caches or File > Packages > Resolve Package Versions
    • Followed by File > Packages > Update to Latest Package Versions
    • If this doesn't work, try to remove the Package from Project Navigator > Package Dependencies and re-add by following the Installation guide.
  3. Cocoapods can't resolve the latest version
    • Try running pod update
  4. NwCore class or methods not found:
    • Ensure that the SDK is properly imported into your project and updated to the latest version. Also, check the spelling and casing of the class and method names.
  5. Playback doesn’t work as expected:
    • Please ensure that you have followed the instructions in the Getting Started guide correctly. Verify that you have implemented the appId/appKey or programId accurately and that you have initialized the function with the appropriate parameters. If you continue to experience issues, please refer back to the 'Getting Started' section for proper implementation guidelines.
  6. SDK causes performance issues:
    • Ensure your app meets the system requirements mentioned in this documentation. If the issue persists, reach out to our developer support.
  7. Sync is constantly failing:
    • Confirm that the necessary audio permissions have been granted. Also, check for any conflicts with other apps that might use audio resources. The system's audio focus should be appropriately handled.
  8. Playback doesn't resume after internet reconnection
    • Ensure that the device is properly reconnected to the internet and the SDK is not blocked by any firewall or network restrictions. If the issue persists, restarting the NativeWaves EXP might help reinitialize the SDK's network modules.
  9. 'No video available' message appears:
    • This message may appear if the video content is unavailable or if the video file is corrupted. Please try seeking to a different offset to verify the integrity and availability of the video file on the server. If you are streaming the video, ensure that your internet connection is stable.

Remember, when reporting issues, always include error messages, logcat output, and steps to reproduce the issue. This will help us diagnose and resolve your issue more quickly.

FAQs

The FAQs section addresses common questions about the Core SDK for iOS. It serves as a quick reference to understand the SDK's features, requirements, and behaviors, offering concise answers to frequently asked questions by developers.

  1. What versions of iOS does the SDK support?
    • The SDK supports iOS 14.0 or higher. Anyhow, keeping the devices and apps up-to-date is always recommended to improve performance issues.
  2. Where can I find my API key?
    • You can contact NativeWaves and request them to generate your GitHub access API key, which will grant you permission to download the library.
  3. Is the SDK compatible with other iOS libraries or frameworks?
    • The Core SDK is designed to work alongside most popular iOS libraries and frameworks. If you encounter any specific compatibility issues, please contact our support team.
  4. Can I use the SDK in multiple apps?
    • Yes, you can use the same SDK in multiple apps. However, we recommend generating a unique API key for each application for better tracking and security.
  5. Why does the SDK require microphone usage permission?
    • The microphone usage permission is required by the Core SDK for Second-Screen Sync that involve sound input or recording. If your app does not utilize this feature, you can safely omit this permission.
  6. How do I handle a situation where a user denies the audio record permission?
    • If a user denies the audio record permission, any voice input or recording features won't function. Your app should degrade gracefully in this situation, perhaps by notifying the user that certain features won't be available without this permission.
  7. What is the GuiOverlay URL, and how is it used?
    • The GuiOverlay URL is a link provided by NativeWaves for specific features such as displaying the controller of the playback on top of the player. You just have to call the appropriate SDK function and pass the overlay URL as a parameter.
  8. What if the GuiOverlay URL is not working?
    • Please confirm that the correct URL is passed to the SDK. To test the URL, you can try opening it in a web browser and inspect it using the browser's developer tools.
  9. What happens if the internet connection is lost while using the SDK features?
    • The Core SDK is designed to handle intermittent network issues gracefully. Many features will continue to work offline and sync data when the connection is restored. However, some features like live updates or certain API calls will require an active internet connection to function.
  10. What happens to the media playback if the app is kept in the background for a long time?
    • The behavior of media playback depends on the specifications set within your app. By default, the video playback might continue in the background, but it will stop if the system kills the app due to resource constraints. If you wish to have continuous background playback, you may need to implement background capabilities.
  11. Why does my app stop working when kept in the background for a long time?
    • iOS system manages its resources diligently. If your app is in the background for an extended period, the system might stop it to free up resources for active apps. You can handle this by saving the app state and restoring it when the app comes back to the foreground.
  12. How can I ensure that certain operations continue even when my app is in the background?
    • For operations that need to continue even when your app is in the background, consider using background capabilities. However, be aware that continuous operation in the background may consume more battery.
  13. What happens to the playback and program API fetch operation if the internet connection is lost?
    • If the internet is not available, the SDK will pause the current playback and attempt to fetch the program API every 6 seconds. Once the internet connection is reestablished, the SDK will resume the playback and successfully update the program API.
  14. Why am I seeing a 'No video available' message?
    • The 'No video available' message usually appears if the video content is not available or the video file is corrupted. Check your video source and make sure the file is not corrupted and is properly uploaded to the server. If you're streaming, ensure a stable internet connection.
  15. Does the SDK support localization?
    • No, currently we do not support the localization feature. However, we have plans to add support for multiple languages and locales in the near future.

If your question is not addressed in the FAQ, feel free to reach out to our support team for further assistance.