फैक्ट्री रीसेट
फैक्ट्री रीसेट ऑपरेशन डिवाइस को उसकी मूल फैक्ट्री सेटिंग्स पर पुनर्स्थापित करता है, सभी उपयोगकर्ता डेटा और कस्टम कॉन्फ़िगरेशन मिटा देता है। यह ऑपरेशन डिवाइस को पुनर्विक्रय के लिए तैयार करने या लगातार समस्याओं का निवारण करने में उपयोगी है।
पूर्वापेक्षाएं
फैक्ट्री रीसेट करने से पहले, सुनिश्चित करें:
- डिवाइस कनेक्टेड और स्थिर स्थिति में है
- सभी महत्वपूर्ण डेटा का बैकअप लिया गया है
- उपयोगकर्ता समझता है कि सभी व्यक्तिगत डेटा मिटा दिया जाएगा
AI की सहायता से लागू करें
इस वर्कफ़्लो को AI से लागू करें
आधिकारिक “AIBuds फ़ैक्टरी रीसेट लागू करें” स्किल से वर्कफ़्लो को अपने ऐप के अनुसार लागू करें।
https://docs-aibuds.github.io/hi/skills/implement-aibuds-factory-reset को पढ़ें और निर्देशों का पालन करें। इस स्किल से “AIBuds फ़ैक्टरी रीसेट लागू करें” को इस iOS प्रोजेक्ट में लागू करें और परिणाम सत्यापित करें।API संदर्भ
फ्रेमवर्क
AIBuds.xcframework
आयात
SDK का उपयोग करने वाली फ़ाइलों में, मुख्य हेडर आयात करें:
- Swift
- Objective-C
import AIBuds#import <AIBuds/AIBuds.h>
#import <AIBuds/AIBuds-Swift.h>प्रोटोकॉल
factoryReset विधि निम्नलिखित प्रोटोकॉल में परिभाषित है। प्रोटोकॉल बेस डिवाइस API प्रोटोकॉल से इनहेरिट करता है।
- Swift
- Objective-C
/// Defines common device operations including factory reset
protocol DeviceCommonAPI: DeviceAPI {
/// Factory reset
/// - Parameters:
/// - completion: Completion callback that returns the operation result
/// - success: `true` if the operation was successful; otherwise `false`.
/// - error: An `NSError` object that describes the error that occurred, or `nil` if the operation was successful.
func factoryReset(_ completion: AIBudsCompletionHandler?)
}/// Defines common device operations including factory reset
@protocol AIBudsDeviceCommonAPI <AIBudsDeviceAPI>
/// Factory reset
/// - Parameters:
/// - completion: Completion callback that returns the operation result
/// - success: `true` if the operation was successful; otherwise `false`.
/// - error: An `NSError` object that describes the error that occurred, or `nil` if the
/// operation was successful.
- (void)factoryResetWithCompletion:(AIBudsCompletionHandler)completion;
@endइंस्टेंस विधि
डिवाइस को उसकी मूल फैक्ट्री सेटिंग्स पर पुनर्स्थापित करता है, सभी उपयोगकर्ता डेटा और कस्टम कॉन्फ़िगरेशन मिटा देता है।
iOS 13.0+
- Swift
- Objective-C
/// Factory reset
/// - Parameters:
/// - completion: Completion callback that returns the operation result
/// - success: `true` if the operation was successful; otherwise `false`.
/// - error: An `NSError` object that describes the error that occurred, or `nil` if the operation was successful.
func factoryReset(_ completion: AIBudsCompletionHandler?)/// Factory reset
/// - Parameters:
/// - completion: Completion callback that returns the operation result
/// - success: `true` if the operation was successful; otherwise `false`.
/// - error: An `NSError` object that describes the error that occurred, or `nil` if the
/// operation was successful.
- (void)factoryResetWithCompletion:(AIBudsCompletionHandler)completion;पैरामीटर
| पैरामीटर | प्रकार | विवरण |
|---|---|---|
| completion | AIBudsCompletionHandler? | वैकल्पिक पूर्णता कॉलबैक जो ऑपरेशन पूरा होने पर कहा जाता है। |
कॉलबैक पैरामीटर:
| नाम | प्रकार | विवरण |
|---|---|---|
| success | Bool | ऑपरेशन सफल होने पर true, अन्यथा false। |
| error | NSError? | यदि ऑपरेशन विफल हुआ तो त्रुटि जानकारी शामिल है, अन्यथा nil। |
रिटर्न मान
यह विधि सीधे कोई मान लौटाती नहीं है। परिणाम पूर्णता कॉलबैक के माध्यम से प्रदान किया जाता है।
उपयोग उदाहरण
- Swift
- Objective-C
import AIBuds
class DeviceManager {
/// The connected device
weak var device: DeviceConvertible?
/// Performs factory reset on the connected device
func performFactoryReset() {
// Ensure the device supports factory reset protocol
guard let device = device as? DeviceCommonAPI else {
print("Device does not support factory reset")
return
}
// Execute factory reset with completion handler
device.factoryReset { [weak self] success, error in
// Handle failure case
if !success {
let errorMessage = {
if let error = error {
return "\(error)"
}
return "Unknown error"
}()
print("Factory reset failed: \(errorMessage)")
return
}
// Handle success case
print("Factory reset completed successfully")
}
}
}#import <AIBuds/AIBuds.h>
@interface DeviceManager ()
/// The connected device
@property(weak, nonatomic) id<AIBudsDeviceConvertible> device;
@end
@implementation DeviceManager
- (void)performFactoryReset {
__weak typeof(self) weakSelf = self;
id<AIBudsDeviceCommonAPI> device = (id<AIBudsDeviceCommonAPI>)self.device;
// Ensure the device supports factory reset protocol
if ([device conformsToProtocol:@protocol(AIBudsDeviceCommonAPI)]) {
// Execute factory reset with completion handler
[device factoryResetWithCompletion:^(BOOL success, NSError *_Nullable error) {
// Handle failure case
if (!success) {
NSLog(@"Factory reset failed: %@", error);
return;
}
// Handle success case
NSLog(@"Factory reset completed successfully");
}];
}
}
@endत्रुटि प्रबंधन
पूर्णता हैंडलर निम्नलिखित त्रुटि प्रकार लौटा सकता है:
त्रुटि डोमेन: AIBudsSDK.ErrorDomain
- Swift
- Objective-C
| त्रुटि कोड | विवरण | पुनर्प्राप्ति सुझाव |
|---|---|---|
| .deviceNotConnected | डिवाइस कनेक्टेड नहीं है | सुनिश्चित करें कि डिवाइस जोड़ा गया और कनेक्टेड है |
| .bleCommandExecFailedDueToTimeout | ऑपरेशन का समय समाप्त हुआ | ऑपरेशन पुनः प्रयास करें |
| .deviceBusy | डिवाइस दूसरे ऑपरेशन में व्यस्त है | चल रहे ऑपरेशन पूर्ण होने की प्रतीक्षा करें |
| .deviceNotSupport | इस डिवाइस पर फैक्ट्री रीसेट समर्थित नहीं है | कॉल करने से पहले डिवाइस क्षमताओं की जांच करें |
| त्रुटि कोड | विवरण | पुनर्प्राप्ति सुझाव |
|---|---|---|
| AIBudsSdkErrorCodeDeviceNotConnected | डिवाइस कनेक्टेड नहीं है | सुनिश्चित करें कि डिवाइस जोड़ा गया और कनेक्टेड है |
| AIBudsSdkErrorCodeBleCommandExecFailedDueToTimeout | ऑपरेशन का समय समाप्त हुआ | ऑपरेशन पुनः प्रयास करें |
| AIBudsSdkErrorCodeDeviceBusy | डिवाइस दूसरे ऑपरेशन में व्यस्त है | चल रहे ऑपरेशन पूर्ण होने की प्रतीक्षा करें |
| AIBudsSdkErrorCodeDeviceNotSupport | इस डिवाइस पर फैक्ट्री रीसेट समर्थित नहीं है | कॉल करने से पहले डिवाइस क्षमताओं की जांच करें |
सर्वोत्तम प्रथाएं
-
उपयोगकर्ता की पुष्टि करें: फैक्ट्री रीसेट शुरू करने से पहले हमेशा पुष्टि संवाद प्रदर्शित करें, क्योंकि यह ऑपरेशन अपरिवर्तनीय है।
-
बैकग्राउंड निष्पादन संभालें: UI अपडेट करते समय पूर्णता हैंडलर को
DispatchQueue.main.asyncब्लॉक में रैप करें। -
वीक सेल्फ रेफरेंस: रिटेन साइकिल को रोकने के लिए पूर्णता हैंडलर में
[weak self]का उपयोग करें। -
प्रोटोकॉल समर्थन जाँचें: विधि को कॉल करने से पहले पुष्टि करें कि डिवाइस
DeviceCommonAPIप्रोटोकॉल का समर्थन करता है। -
संदर्भ साफ़ करें: सफल फैक्ट्री रीसेट के बाद, आपको डिवाइस को पुनः जोड़ना पड़ सकता है।
नोट्स
- फैक्ट्री रीसेट पूरा होने में कई सेकंड लग सकते हैं
- डिवाइस इस ऑपरेशन के दौरान डिस्कनेक्ट और रीसेट होगा
- सभी उपयोगकर्ता डेटा जिसमें जोड़े गए डिवाइस, सेटिंग्स और संग्रहीत मीडिया शामिल हैं, मिटा दिया जाएगा
- रीसेट पूरा होने के बाद डिवाइस स्वचालित रूप से पुनः आरंभ होगा