FAQ
Frequently Asked Questions
1. Can't find the header file after importing the framework?
- Check Framework Search Paths and Header Search Paths: Ensure the paths are correctly filled in.
- Confirm Framework Copying: Make sure the tingyunApp.framework file has been copied to the project.
2. Error when importing SDK with CocoaPods (The dependency 'tingyunApp' is not used in any concrete target)
# The error occurs because the specified target is not being used. The solution is to add the following content to the Podfile, then execute pod install or pod update:
target 'MyApp' do
pod 'tingyunApp'
end
# Replace 'MyApp' with your own target in the project
3. Error when executing carthage update
- Navigate to the directory
~/Library/Caches/org.carthage.CarthageKit/dependencies/
, delete the corresponding tingyunApp folder, and then executecarthage update
in the project's root directory.
4. No log after successful embedding?
- Initialization Code: Confirm whether the initialization code has been added.
- NSLog Overriding: Check if NSLog has been overridden; if so, it may prevent the SDK's logs from displaying.
5. SDK starts normally but cannot connect to the server
- Application Disabled: Check if the current application has been disabled in the report end.
- Monthly Active Users: Confirm whether the current monthly active users exceed the number purchased in the package.
- BundleID Verification: Confirm if the bundleID is set in security verification and check its correctness.
6. Only active devices are displayed in the report after successful embedding
- Supported Protocol Libraries: The iOS SDK supports the following protocol libraries: NSURLConnection, ASIHttpRequest, AFNetworking, UIWebView, NSURLSession (for iOS 8 and above versions).
7. Unable to collect TCP data in the report network data
- Post SDK 2.5.4: The SDK has removed the socket module, making it impossible to collect TCP data on systems below iOS 8.
- Pre SDK 2.5.4 on iOS 9-11: These versions cannot collect TCP data.
- Post SDK 2.5.0 on iOS 10.2+: Only devices with iOS 10.2 and above can collect TCP data through specific requests and libraries.
8. Unable to collect NSURLSession network data
- iOS Version Check: Confirm it is a device with iOS 8 or above, as the Tingyun SDK supports NSURLSession only from iOS 8 onwards.
9. URL/Error filtering not effective
- Regex Configuration: It's likely a regex configuration issue, which can be checked with an online regex tool. Ensure slashes are added before and after the regex in the report configuration.
- Configuration Delay: After saving the configuration, wait a minute or two for it to take effect before checking the report.
10. Why are crashes not collected?
- Simulator Crashes: The Tingyun SDK does not support crash collection for the simulator.
- Third-Party SDK Compatibility: After version 2.3.2, the SDK is compatible with third-party SDKs for crash collection. The initialization code should be placed after other third-party SDKs' initialization code.
- Exception Type Crashes: If a crash occurs after installing through Xcode, only Exception type crashes are supported.
- Immediate Crash Post-Startup: If the application crashes immediately after startup, the crash collection handler may not start in time.
- System Kill/MemoryWarning Crashes: The Tingyun SDK cannot collect data for crashes caused by the system killing the app or memory warnings.
- Crash Collection Logic: Crash data is collected for the current crash and uploaded after the next startup.
- Crash Collection Switch: Ensure the crash collection switch is turned on in the report.
11. Why can't WebView performance data be collected?
- WebView Module Switch: Check if the WebView module switch is turned on in the report.
- WebView Delegate: Confirm if the delegate of WebView is ViewController.
- Onload/Unload Events: If these events are not called during page loading, the Tingyun SDK cannot collect WebView performance data.
- About:blank URL: If the onload or unload event is called with "about:blank" as the page URL, the data cannot be collected.
- iOS Version: Confirm the device is running iOS 10.2 or above.
12. Unable to collect startup time data?
- Embedding Location: Confirm if the code is embedded in the main function; embedding elsewhere may prevent the Tingyun SDK from collecting startup time data.
- UI Module Switch: Check if the UI module switch is turned on in the report, as the startup time module is controlled by this switch.
13. Why can't the crash stack be parsed after uploading the dSYM file?
- dSYM File Verification:
- Binary Image Information: Log in to the report, navigate to the crash details interface, remove formatting, and view the first line under binaryImage.
- dSYM UUID Check: Open the terminal, navigate to the dSYM file directory, and execute
dwarfdump -u xxx
(replace 'xxx' with the dSYM name) to display the dSYM's UUID.
14. Incorrect thread for crash collection after embedding talkingdata?
- If the collected NSException crash stack is incorrect after embedding the SDK, initialize the SDK at the end of the
application:didFinishLaunchingWithOptions
method or within the main function.