我创建了将 iPhone 连接到 VPN(IKEv2)服务器的应用程序。当我第一次尝试连接到 VPN 时,它需要在模式警报中获得用户许可。有什么方法可以更改此模式警报的文本吗?没有在 swift 中找到任何代码。Info.plist 键,也不包含要做的事情。是否可以?此外,我的应用程序被 Apple App Review 拒绝了,因为我没有向用户正确解释我的应用程序为什么需要许可(我有应用程序中的隐私政策和使用条款,我还在我的应用程序描述中解释了数据收集。 )。
苹果评测团队:
我们注意到您的应用程序请求用户同意访问他们的 VPN,但没有在权限模式警报中说明此功能的使用。
详情请看附件截图。?
更新:
我的上诉得到了答复,现在正在等待电话。
回答:
你好,
谢谢您的答复。您与 Apple 代表的通话已确认。
从今天起,Apple 代表将在接下来的 3 到 5 个工作日内通过提供的电话号码与您联系,讨论您的应用程序。
此致,
应用商店评论
该info.plist文件包含以下代码行:
<key>NSMicrophoneUsageDescription</key>
<string>The microphone permission is needed to to receive voice commands.</string>
仍然出现以下错误:
此应用程序已崩溃,因为它试图在没有使用说明的情况下访问隐私敏感数据。应用程序的 Info.plist 必须包含一个 NSMicrophoneUsageDescription 键,其中包含一个字符串值,向用户解释应用程序如何使用此数据。
任何帮助将不胜感激。谢谢
这里提到的解决方案讨论了如何使用 ATTrackingManager 类进行设置,但是,它没有直接暴露给 React Native。
使用react-native-tracking-transparency包在构建时给我带来了一个问题:
“未定义的符号_RCTRegisterModule”
因为只有在不包含 use_flipper 时它才有效!在你的podfile中......所以我被困住了,不想按照这里的解决方案中的建议进行补丁包(这意味着修复已经被合并,但在用这个构建时我仍然看到“未定义的符号_RCTRegisterModule”......
想知道是否有针对 React Native 的 ATTrackingManager 类的包装器?
我正在使用 flutter 为 iOS 和 Android 创建应用程序。我需要iOS 和 Android 的photos权限storage来访问照片以更新用户个人资料图片。我使用该permission_handler包来请求权限。这在 Android 中运行良好,但在 iOS 中则不然。
<key>NSPhotoLibraryUsageDescription</key>
<string>We need Photos access to allow you to update Profile Picture.</string>
Run Code Online (Sandbox Code Playgroud)
var permission = Platform.isAndroid
? Permission.storage
: Permission.photos;
var permissionStatus = await permission.request();
print("isGranted: " +
permissionStatus.isGranted.toString() +
" isDenied: " +
permissionStatus.isDenied.toString() +
" isLimited: " +
permissionStatus.isLimited.toString() +
" isRestricted: " +
permissionStatus.isRestricted.toString() +
" isPermanentlyDenied: " +
permissionStatus.isPermanentlyDenied.toString());
Run Code Online (Sandbox Code Playgroud)
颤振: isGranted: false isDenied: false isLimited: false …
我的应用程序询问位置和通知权限.当用户第一次启动应用程序时,将显示位置请求,并在显示通知请求后显示.
有没有办法更好地要求这个?也许是Android中的列表或者比我现在更好的东西?
它不是在iOS 9中询问画廊的权限,但在iOS 8中它可以正常工作。也许我需要输入任何权限info.plist?
PHPhotoLibrary.requestAuthorization({ (status) -> Void in
})
Run Code Online (Sandbox Code Playgroud) 我需要为mic权限创建一个自定义ui,有没有办法做到这一点.
下面是代码代码权限块如何工作..这次调用似乎很难?App Shazam正在这样做.
[[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted){
if (granted) {
NSLog(@"granted");
} else {
NSLog(@"denied");
}}];
Run Code Online (Sandbox Code Playgroud)

我正在使用带有Camera视图控制器的Swift编写的iOs应用程序.我第一次启动此视图控制器时,显示了权限对话框,我允许访问相机和照片库.但是,我在允许库权限时注意到了一个问题,我希望能够重现它以便修复它...但是要做到这一点,我需要重新显示此权限对话框.但是,即使我删除了应用程序并重新安装它,我再也没有得到此权限对话框.
如何再次获得它以便我可以解决我的问题?
我想在 iOS 13+ 中使用DeviceMotion和DeviceOrientation事件WKWebView。我正在使用下面的代码
<html>
<style>
#container{
margin: 20px;
padding: 20px
}
#deviceType{
text-align: center;
font-family: Arial, Helvetica, sans-serif;
font-size: 3rem;
font-weight: bold;
color: #08f
}
#permission{
padding: 2rem 5rem;
background: #08f;
color: white;
margin-top: 30;
font-family: Arial, Helvetica, sans-serif;
font-size: 3rem;
border: none;
border-radius: 1rem
}
#permissionStatus{
text-align: center;
font-family: Arial, Helvetica, sans-serif;
font-size: 2.5rem;
font-weight: 600;
color: red;
margin-top: 30px
}
</style>
<body>
<div id="container">
<div id="deviceType"></div>
<div style="text-align: center">
<button id="permission">Ask …Run Code Online (Sandbox Code Playgroud) 在 testFlight 上部署应用程序我遇到以下问题,
应用程序的 Info.plist 文件应包含 NSLocationAlwaysUsageDescription 键,其中包含面向用户的目的字符串,清楚、完整地解释应用程序需要数据的原因。
即使我已在 Info.plist 文件中包含位置访问所需的密钥。
该应用程序已提交审核和测试,但每次提交时我仍然收到一封电子邮件,内容如下:
版本:1.0.2 内部版本:74) 有一个或多个问题
我在这里检查了解决方案,以便也添加已弃用的密钥
应用商店连接错误:Info.plist 文件中缺少用途字符串
抱歉,也许我在这里遗漏了一些东西?
在 iOS13 上请求“始终”权限期间,用户可以点击“允许一次”,这将调用具有状态的适当委托kCLAuthorizationStatusAuthorizedWhenInUse,但再次请求“始终”会调用带有 的委托kCLAuthorizationStatusAuthorizedAlways。为什么?当其他组合像您总是请求的那样只工作一次时,您会得到它,甚至再次调用也不会调用带有状态的委托。
要测试的示例代码:
@import CoreLocation;
@interface ViewController () <CLLocationManagerDelegate>
@property (strong, nonatomic) CLLocationManager *locationManager;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
}
- (IBAction)doauthloc:(id)sender {
[self.locationManager requestAlwaysAuthorization];
}
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
switch(status) {
case kCLAuthorizationStatusNotDetermined:NSLog(@"AUTH STATUS:kCLAuthorizationStatusNotDetermined"); break;
case kCLAuthorizationStatusRestricted:NSLog(@"AUTH STATUS:kCLAuthorizationStatusRestricted"); break;
case kCLAuthorizationStatusDenied:NSLog(@"AUTH STATUS:kCLAuthorizationStatusDenied"); break;
case kCLAuthorizationStatusAuthorizedAlways:NSLog(@"AUTH STATUS:kCLAuthorizationStatusAuthorizedAlways"); break;
case kCLAuthorizationStatusAuthorizedWhenInUse:NSLog(@"AUTH STATUS:kCLAuthorizationStatusAuthorizedWhenInUse"); break;
};
}
@end
Run Code Online (Sandbox Code Playgroud) 自 iOS 14 以来,由于苹果新的隐私政策,我的应用广告收入大幅减少。所以我想以某种方式强制或诱导用户启用 ATT 授权。我可以在下面做一些事情吗?
ios-permissions ×12
ios ×11
info.plist ×2
iphone ×2
objective-c ×2
swift ×2
app-store ×1
cocoa-touch ×1
devicemotion ×1
flutter ×1
ios13 ×1
ios14 ×1
permissions ×1
react-native ×1
vpn ×1
wkwebview ×1
xcode ×1