簡體   English   中英

在iOS App和Todays Extension之間共享數據

[英]Sharing Data Between iOS App and Todays Extension

我有一個使用設備數據庫的iOS應用。 我想從我的App Extension訪問數據庫。 數據庫訪問需要一個路徑,我將其插入到NSUserDefaults中,如下所示。 我首先運行App Target,它將觸發以下代碼。

 NSUserDefaults *userDefaults = [[NSUserDefaults alloc] init];
    [userDefaults setValue:databasePathFromApp forKey:@"DatabasePath"];
    [userDefaults synchronize];

然后,我運行“今日擴展”,該擴展訪問由主應用程序設置的NSUserDefaults。

 NSUserDefaults *userDefaults = [[NSUserDefaults alloc] init];

    _databasePath = [userDefaults valueForKey:@"DatabasePath"];

_databasePath始終為nil。 我究竟做錯了什么? 我是否必須使用應用程序組在應用程序和當前擴展之間共享數據庫。

您應該使用如下所示的NSUserDefaults,並確保必須在臨時配置文件中啟用了應用程序組,並且應用程序組必須配置為綠色符號,並且應將其添加到臨時配置文件和BundleID中。

NSUserDefaults * sharedUserDefault = [[NSUserDefaults alloc] initWithSuiteName:@“ group.yougroup”]; [sharedUserDefault setObject:Object forKey:@“ yourkey”]; [sharedUserDefault同步];

NSUserDefaults * sharedUserDefault = [[NSUserDefaults alloc] initWithSuiteName:@“ group.yougroup”]; sharedUserDefault value = [sharedUserDefault valueForKey:@“您的關鍵字”];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM