2017-05-25 32 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

相關問題