我一直在使用帐户框架,在我的测试中,我拒绝了应用程序访问帐户。现在,每次运行时,以下代码都会返回Denied。
[[self accountStore] requestAccessToAccountsWithType:twitterType options:nil completion:^(BOOL granted, NSError *error) {
if (granted) {
accounts = [[self accountStore] accountsWithAccountType:twitterType];
} else if (error != nil) {
NSLog(@"Failed to list Twitter accounts %@", error);
} else {
NSLog(@"Access denied");
}
}];
什么很糟糕我不知道在哪里重置它和谷歌搜索没有帮助。我已经看过如何在iOS上修复它,但我正在运行Mac应用程序并且该解决方案不适用。
帐户框架API文档根本没用。
掌上电脑。答案 0 :(得分:4)
想出来,我找到了一个名为“〜/ Library // Application Support / com.apple.TCC / TCC.db
的应用ID的文件这是一个sqlite3文件,所以运行 sqlite3“〜/ Library // Application Support / com.apple.TCC / TCC.db”然后在“access”表中搜索你的应用程序,删除该行,您是否应该再次访问。
如果这没有帮助,那么还有一个名为〜/ Library / Accounts / Accounts3.sqlite 的文件,那里有 ZAUTHORIZATION表,其中包含您的应用。
答案 1 :(得分:1)
由于大公司和其他公司的骇人听闻的骇客入侵,提议的解决方案不再起作用。此解决方案从未得到过支持,并向黑客发出了邀请。正确的方法是使用Apple提供的工具:tccutil
。
因此,请执行以下操作:
Terminal
。tccutil reset <service> [bundle_id]
,其中<service>
可以是AddressBook
或Calendar
或All
,并带有要重置的捆绑软件的可选ID。示例:
tccutil reset All com.apple.Terminal