2017-05-25 71 views
0

我有一个MacOS应用程序与Safari扩展共享一些数据。林不知道我做错了什么,但是当我运行我的Safari扩展,它只是返回零。 这里是我的代码使用mac应用程序和safari扩展之间的应用程序组中的共享数据返回无

//in my main viewcontroller 
if let userDefaults = UserDefaults(suiteName: "$(TeamIdentifierPrefix)") { 
     userDefaults.set("---" as AnyObject, forKey: "distance") 
     userDefaults.set("---" as AnyObject, forKey: "altitude") 
     userDefaults.synchronize() 
} 

//in my Safari Extension 
if let userDefaults = UserDefaults(suiteName: "$(TeamIdentifierPrefix)") { 
     print(userDefaults.string(forKey: "distance")) 
     print(userDefaults.string(forKey: "altitude")) 

}

我也试图改变suiteName为“group.com.company.project”,但它仍然会返回零。

+0

你记得添加的应用群组能力的应用和扩展? – Roee84

+0

是的,我做到了。首先,我忘了它,然后我得到一个错误,但现在扩展只是返回无 – Morten

回答

0

尝试使用一个名称,如。集团(即:ABC4343DEV.group)

+0

这样做!我得到我的值,但我仍然从控制台收到此消息:“2017-05-27 10:05:15.001020 + 0200 myExtension [5794:334369] [用户默认值]无法读取CFPrefsPlistSource <0x6080000feb80>中的值(域: ABC4343DEV.group,用户:kCFPreferencesAnyUser,ByHost:是,Container:(null)):只允许将容器与kCFPreferencesAnyUser配合使用,与cfprefsd分离 可选(“---”) 可选(“--- “)”。我应该担心吗? – Morten

+0

那苹果的内部味精,别担心 – Roee84

相关问题