Fabrika Ayarlarına Sıfırlama
Fabrika ayarlarına sıfırlama işlemi cihazı orijinal fabrika ayarlarına geri yükler, tüm kullanıcı verilerini ve özel yapılandırmaları siler. Bu işlem cihazı yeniden satış için hazırlarken veya kalıcı sorunları gidermek için kullanışlıdır.
Ön Koşullar
Fabrika ayarlarına sıfırlama yapmadan önce şunları sağladığınızdan emin olun:
- Cihaz bağlı ve istikrarlı bir durumda
- Tüm önemli veriler yedeklendi
- Kullanıcı tüm kişisel verilerin silineceğini anladı
AI desteğiyle uygulayın
Bu iş akışını AI ile uygulayın
Resmî “AIBuds Fabrika Ayarlarına Sıfırlama” becerisini kullanarak iş akışını uygulamanıza uyarlayın.
https://docs-aibuds.github.io/tr/skills/implement-aibuds-factory-reset adresini okuyup yönergeleri izleyin. Bu beceriyle “AIBuds Fabrika Ayarlarına Sıfırlama” iş akışını iOS projesinde uygulayıp doğrulayın.API Referansı
Çerçeve
AIBuds.xcframework
İçe Aktarma
SDK'yı kullanmak istediğiniz dosyalarda ana başlığı içe aktarın:
- Swift
- Objective-C
import AIBuds#import <AIBuds/AIBuds.h>
#import <AIBuds/AIBuds-Swift.h>Protokol
factoryReset metodu aşağıdaki protokolde tanımlanmıştır. Bu protokol temel cihaz API protokolünden miras alır.
- 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Örnek Metodu
Cihazı orijinal fabrika ayarlarına geri yükler, tüm kullanıcı verilerini ve özel yapılandırmaları siler.
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;Parametreler
| Parametre | Tip | Açıklama |
|---|---|---|
| completion | AIBudsCompletionHandler? | İşlem tamamlandığında çağrılan isteğe bağlı tamamlama geri çağrısı. |
Geri Çağrı Parametreleri:
| Adı | Tip | Açıklama |
|---|---|---|
| success | Bool | İşlem başarılı olduysa true; aksi takdirde false |
| error | NSError? | İşlem başarısız olduysa hata bilgilerini içerir, başarılı olduysa nil. |
Dönüş Değeri
Bu metod doğrudan bir değer döndürmez. Sonuç tamamlama geri çağrısı aracılığıyla sağlanır.
Kullanım Örnekleri
- 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");
}];
}
}
@endHata İşleme
Tamamlama işleyicisi aşağıdaki hata türlerini döndürebilir:
Hata Alanı: AIBudsSDK.ErrorDomain
- Swift
- Objective-C
| Hata Kodu | Açıklama | Kurtarma Önerisi |
|---|---|---|
| .deviceNotConnected | Cihaz bağlı değil | Cihazın eşleştiğinden ve bağlı olduğundan emin olun |
| .bleCommandExecFailedDueToTimeout | İşlem zaman aşımına uğradı | İşlemi yeniden deneyin |
| .deviceBusy | Cihaz başka bir işlemle meşgul | Devam eden işlemlerin tamamlanmasını bekleyin |
| .deviceNotSupport | Bu cihazda fabrika ayarlarına sıfırlama desteklenmiyor | Çağrıdan önce cihaz yeteneklerini kontrol edin |
| Hata Kodu | Açıklama | Kurtarma Önerisi |
|---|---|---|
| AIBudsSdkErrorCodeDeviceNotConnected | Cihaz bağlı değil | Cihazın eşleştiğinden ve bağlı olduğundan emin olun |
| AIBudsSdkErrorCodeBleCommandExecFailedDueToTimeout | İşlem zaman aşımına uğradı | İşlemi yeniden deneyin |
| AIBudsSdkErrorCodeDeviceBusy | Cihaz başka bir işlemle meşgul | Devam eden işlemlerin tamamlanmasını bekleyin |
| AIBudsSdkErrorCodeDeviceNotSupport | Bu cihazda fabrika ayarlarına sıfırlama desteklenmiyor | Çağrıdan önce cihaz yeteneklerini kontrol edin |
En İyi Uygulamalar
-
Kullanıcıdan Onay Alın: Bu işlem geri alınamaz, bu nedenle fabrika ayarlarına sıfırlama işlemine başlamadan önce her zaman bir onay iletişim kutusu gösterin.
-
Arka Plan Yürütmesini Ele Alın: UI'yı güncellerken tamamlama işleyicisini bir
DispatchQueue.main.asyncbloğuna alın. -
Zayıf Referans Kullanın: Saklama döngülerini önlemek için tamamlama işleyicisinde
[weak self]kullanın. -
Protokol Uyumluluğunu Kontrol Edin: Metodu çağırmadan önce cihazın
DeviceCommonAPIprotokolüne uyduğunu doğrulayın. -
Başvuruları Temizleyin: Başarılı bir fabrika ayarlarına sıfırlamadan sonra cihazı yeniden eşleştirmeniz gerekebilir.
Notlar
- Fabrika ayarlarına sıfırlama tamamlanması birkaç saniye sürebilir
- Bu işlem sırasında cihaz bağlantısı kesilecek ve sıfırlanacaktır
- Eşleşmiş cihazlar, ayarlar ve kayıtlı medya dahil tüm kullanıcı verileri silinecektir
- Sıfırlama tamamlandıktan sonra cihaz otomatik olarak yeniden başlayacaktır