This article will help troubleshoot SDK implementation issues
Section 1: Resources
Section 2: Different Methods of Implementation
- CocoaPods - This is the recommended method because it handles all of the necessary frameworks and dependancies needed to correctly install the SDK. This is what the Moki SDK implementation was designed around. Implementation of CocoaPods is quick and near seamless.
- Manual Install - Not recommended as many frameworks and dependancies may be missed, either due to untimely updating of documentation or outdated frameworks. Please use CocoaPods.
Section 3: Parts of the SDK
- AEM - Is basically a preconfigured package that needs to be dropped in. There are no customizations to make with AEM. Whatever is there is there. Adding any more to return in Moki would take Moki making changes to what we will show.
- ASM - Customizable settings that need to be configured by the developer. Nothing is standard in this. We have documentation that helps them know what their options are. They can show their settings in app or just send them back to Moki. They can test their settings through the open sourced versions of MokiTouch 2, which contains AEM, ASM and Compliance sections of the SDK.
- Compliance - Monitors the OS, peripherals and Jailbroken/rooted devices
Section 4: Common Implementation Issues and How to Troubleshoot iOS
- Xcode PROJECT and TARGETS don't match - TARGETS settings will always override the PROJECT settings. If TARGETS says it is built for OS X and PROJECT says iOS, the project will be built for OS X
- Implementing manually the necessary libraries are not always included
- In Xcode go to the project settings
- Click on Build Phases in the top navigation
- Extend the Link Binary With Libraries (## items) and compare the libraries there with those found in the documentation
- APNs not working - Review the info.plist certType boolean configuration to make sure it matches the certs they have in Manager Developer Tools. If they don't have Boolean and they have a string then it won't be accepted. The info.plist can be found in their Supporting Files folder
- Can't reach Moki - There are a couple of possibilities here to try
- Open the Apple Docs and have them put in the isReachable method. This tells them if they can reach Moki or not
- Have them review step 3.3.d of the QuickStart: AEM for iOS and make sure enableAEM, enable ASM and enableCompliance are turned On. The SDK was designed with them all On. Even if they don't plan on using them they should turn them On
- The two most common places problems occur is in the .plist and the AppDelegate configurations
- This is the most common approach to take when troubleshooting
- Check that the info.plist has been configured properly - Use the QuickStart as the guide for this
- Check that the AppDelegate has been configured properly
- Set Logging to Yes in the info.plist - This will spill out all kinds of information from the Moki SDK. You'll want to capture the Device logs
- If these steps don't help you fix the issues on your own then after you have turned Logging to Yes, capture the Device Logs, save out the info.plist and send them both to email@example.com to help troubleshoot further