与许多应用程序一样,如果某个隐私权限已被禁用,我的iOS应用程序将为用户提供打开应用程序设置页面的机会。
在iOS中,使用特殊的String emailtxt1 = text1.getText().toString();
String emailtxt2 = text2.getText().toString();
String emailtxt3 = text3.getText().toString();
String emailtxt4 = text4.getText().toString();
String emailtxt5 = text5.getText().toString();
String emailTxt = "";
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_EMAIL, new String[]{""});
intent.putExtra(Intent.EXTRA_SUBJECT, "Tasks");
if (check1.isChecked()){
emailTxt = emailTxt + "\n" + emailtxt1;
}
if (check2.isChecked()){
emailTxt = emailTxt + "\n" + emailtxt2;
}
if (check3.isChecked()){
emailTxt = emailTxt + "\n" + emailtxt3;
}
if (check4.isChecked()){
emailTxt = emailTxt + "\n" + emailtxt4;
}
if (check5.isChecked()){
emailTxt = emailTxt + "\n" + emailtxt5;
}
intent.putExtra(Intent.EXTRA_TEXT, emailTxt);
intent.setType("message/rfc822");
startActivity(Intent.createChooser(intent, "Choose an emailTxt client"));
/ UIApplicationOpenSettingsURLString
URL可以将用户带到“设置”应用的应用特定页面。除了在应用程序提供的Settings.bundle中的任何设置(如果有)之外,用户还可以在其中看到该应用程序使用的各种隐私设置。
在iOS应用程序的Mac Catalyst端口上工作时,此操作无法达到预期的效果。特殊设置URL的相同用法显示用户单击“首选项...”菜单时看到的相同首选项窗格。而这仅仅是应用程序的Settings.bundle提供的。该应用程序的隐私设置未在iOS中显示。
我可以在macOS设置应用程序中查看我的应用程序的隐私设置,方法是单击“安全和隐私”,然后单击“隐私”选项卡,然后单击左侧列表中的相应项,例如“联系人”或“照片”。但是这些设置未按应用分组。
有没有办法获得iOS应用程序的macOS版本以在一个地方显示各种隐私设置,例如在iOS上运行时?如果不是,是否至少有一种方法可以直接在macOS中启动“设置”应用并显示“隐私”窗格?
答案 0 :(得分:0)
这与您在iOS中获得的并不完全相同,但与我认为可以得到的接近。根据在this answer至Cocoa button opens a System Preference page上找到的信息,我将代码更新如下:
Objective-C:
NSString *url;
#if TARGET_OS_MACCATALYST
url = @"x-apple.systempreferences:com.apple.preference.security?Privacy_Calendars"; // Update as needed
#else
url = UIApplicationOpenSettingsURLString;
#endif
[UIApplication.sharedApplication openURL:[NSURL URLWithString:url] options:@{} completionHandler:nil];
迅速:
let url: String
#if targetEnvironment(macCatalyst)
url = "x-apple.systempreferences:com.apple.preference.security?Privacy_Calendars" // Update as needed
#else
url = UIApplication.openSettingsURLString
#endif
UIApplication.shared.open(URL(string: url)!)
以下是一些可能的隐私设置的网址:
Privacy x-apple.systempreferences:com.apple.preference.security?Privacy Privacy-Photos x-apple.systempreferences:com.apple.preference.security?Privacy_Photos Privacy-Camera x-apple.systempreferences:com.apple.preference.security?Privacy_Camera Privacy-Microphone x-apple.systempreferences:com.apple.preference.security?Privacy_Microphone Privacy-Location x-apple.systempreferences:com.apple.preference.security?Privacy_LocationServices Privacy-Contacts x-apple.systempreferences:com.apple.preference.security?Privacy_Contacts Privacy-Calendars x-apple.systempreferences:com.apple.preference.security?Privacy_Calendars Privacy-Reminders x-apple.systempreferences:com.apple.preference.security?Privacy_Reminders
注意:虽然这在开发中可行,但我尚不确定这是否将批准用于App Store。