简体   繁体   English

在iOS App和Todays Extension之间共享数据

[英]Sharing Data Between iOS App and Todays Extension

I have an iOS app which uses on-device database. 我有一个使用设备数据库的iOS应用。 I want to access the database from my App Extension. 我想从我的App Extension访问数据库。 The database access requires a path which I insert into the NSUserDefaults as shown below. 数据库访问需要一个路径,我将其插入到NSUserDefaults中,如下所示。 I first run the App Target which triggers the following code. 我首先运行App Target,它将触发以下代码。

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

Then I run the Todays Extension which accesses the NSUserDefaults set by the Main App. 然后,我运行“今日扩展”,该扩展访问由主应用程序设置的NSUserDefaults。

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

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

The _databasePath is always nil. _databasePath始终为nil。 What am I doing wrong? 我究竟做错了什么? Do I have to use App Groups to share database between the app and the todays extension. 我是否必须使用应用程序组在应用程序和当前扩展之间共享数据库。

You should use NSUserDefaults like this following and make sure you must have enabled app group in your provisional profile and app group must configure as a green symbol and it should add to your provisional profile & BundleID. 您应该使用如下所示的NSUserDefaults,并确保必须在临时配置文件中启用了应用程序组,并且应用程序组必须配置为绿色符号,并且应将其添加到临时配置文件和BundleID中。

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

NSUserDefaults *sharedUserDefault = [[NSUserDefaults alloc] initWithSuiteName:@"group.yougroup"]; NSUserDefaults * sharedUserDefault = [[NSUserDefaults alloc] initWithSuiteName:@“ group.yougroup”]; sharedUserDefault value = [sharedUserDefault valueForKey:@"yourkey"]; sharedUserDefault value = [sharedUserDefault valueForKey:@“您的关键字”];

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在iOS8中在App和Extension之间共享核心数据堆栈和数据 - Sharing a Core Data stack and data between App and Extension in iOS8 在 iOS 8 共享扩展和主应用程序之间共享数据 - Sharing data between an iOS 8 share extension and main app 在iOS 8扩展程序中访问核心数据SQL数据库(在App和Widget扩展程序之间共享数据) - Accessing Core Data SQL Database in iOS 8 Extension (Sharing Data Between App and Widget Extension) 在App Extension和Conainer App之间共享数据 - Sharing data between app extension and conainer app 在原始 iOS App 和 App Extension 之间共享代码 - Sharing code between original iOS App and App Extension iOS之间的应用程序组数据共享 - App Groups Data Sharing Between Applications iOS 主应用程序和共享扩展名之间的iOS共享.h文件 - iOS Sharing .h file between main app and share extension 在ios主应用程序和扩展之间共享动态框架 - Sharing dynamic frameworks between ios main app and extension 在iOS Extension和app之间使用UIApplication.shared共享CocoaPod - Sharing CocoaPod using UIApplication.shared between iOS Extension and app iOS Today扩展NSUserDefaults使用回调与包含应用程序共享数据 - iOS Today Extension NSUserDefaults Sharing Data with Containing App using Callbacks
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM