我有一个iOS应用程序,我提出了一个图像选择器
self.picker = [[UIImagePickerController alloc] init];
self.picker.delegate = self;
self.picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
self.popover = [[UIPopoverController alloc] initWithContentViewController:self.picker];
[self.popover presentPopoverFromRect:CGRectMake(100, 100, 1, 1) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
Run Code Online (Sandbox Code Playgroud)
但该应用程序根本不会要求权限,它只显示错误消息"此应用程序无法访问您的照片或视频".
关于可能导致这种情况的任何想法?
提前致谢!
permissions objective-c uiimagepickercontroller ios ios-permissions
我正在iOS模拟器上工作,我面临着请求权限的问题.
我的应用程序工作正常,它可以访问照片库,相机和位置服务.但在安装新的XCode(8.1)后,我在模拟器上运行应用程序,不允许应用程序使用照片库或相机或位置服务.
我尝试以编程方式请求权限,但它没有显示权限请求对话框,并且即使我添加了隐私说明和捆绑显示名称,也始终返回拒绝状态.
我正在使用Crashlytics进行内部应用程序测试,并注意到了一件有趣的事情。我在我的应用程序中使用地理位置,并要求用户许可。客户首次安装应用程序时,他会弹出默认的Apple地理位置权限提示。一切正常。但是,如果用户要从手机中删除应用程序并重新安装...在这种情况下,当我要求许可时,弹出窗口不会出现,但地理位置却在起作用。怎么样?这是某种新功能还是iOS问题?我正在使用iOS 11.0.3进行测试。我没有在文档中找到任何内容,也没有在以前的iOS版本中看到此行为。看起来iOS只是记住应用程序,并在我要求用户权限而不显示弹出窗口时自动启用地理位置。也许有人对此有答案?
如果无法访问互联网,是否可以通过编程方式区分以下权限案例?
我想阅读那些无线数据权限,以区分上述情况以获得更友好的错误消息(即在一种情况下我建议验证权限,在另一种情况下我建议检查飞行模式)
基于如何在Swift中使用SCNetworkReachability,我所能找到的就是获得互联网可达性,但它不知道实际的权限:
import SystemConfiguration
@available(iOS 9.0, macOS 10.11, *)
static func internetConnectionIsReachable() -> Bool {
var zeroAddress = sockaddr_in6()
zeroAddress.sin6_len = UInt8(MemoryLayout<sockaddr_in6>.size)
zeroAddress.sin6_family = sa_family_t(AF_INET6)
guard let reachability = withUnsafePointer(to: &zeroAddress, {
$0.withMemoryRebound(to: sockaddr.self, capacity: 1) {
SCNetworkReachabilityCreateWithAddress(nil, $0)
}
}) else {
return false
}
var flags: SCNetworkReachabilityFlags = []
guard SCNetworkReachabilityGetFlags(reachability, &flags) else {
return false
}
return flags.contains(.reachable)
}
Run Code Online (Sandbox Code Playgroud) 我使用 angular PWA 创建了一个应用程序,它具有条形码扫描功能。它在 ios 中运行良好,但问题是每次在此页面上使用时,每次都会请求相机许可,即使用户给了一次,PWA 也会再次请求许可。
一旦用户允许相机并使用该权限,我是否可以存储该权限,以便它不会每次都询问用户?
提前致谢。
我正在尝试在我现有的 iOS 应用程序上启用推送通知。我已经完成了这个网页上提到的所有步骤:
http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1
服务器端的所有内容都已实现。我为推送通知创建了一个新证书,并使用我拥有的现有配置文件运行了我的应用程序。但它不会要求我授予推送通知的权限。也许我错过了什么?还是我必须创建新的配置文件?我正在使用通配符配置文件。
provisioning ios provisioning-profile ios-provisioning ios-permissions
更新:仍然在iOS 8的已启动/ GM版本中遇到此问题.
iOS 7中的我的Cordova应用程序(版本3.5.0-0.2.7)在我尝试注册设备时请求用户的推送权限.
现在,在iOS 8(测试版5,使用Xcode beta 7)中,它在第一次打开应用程序时请求推送权限.这并不好,因为如果请求没有给出某些上下文,用户通常会拒绝许可.
据我所知,iOS 8现在将远程推送通知和本地通知整合到同一个权限请求中,而以前没有单独请求本地通知.(来源:1,2).Cordova是否有可能在发布时在幕后请求本地通知权限,而现在,在iOS 8中,这些权限正在向用户浮出水面?
我看来唯一相关的Cordova插件是PushPlugin.(不使用任何本地通知插件.)
谢谢你的帮助!
我有一个 Cordova 应用程序,它做的第一件事就是在应用程序启动时检查用户的位置。问题是,如果这是用户第一次启动应用程序(在 iOS 上),地理定位插件不会等待用户对 iOS 显示的地理权限对话框说是或否。
无论如何我可以让这个插件功能等待用户说允许或禁止地理权限吗?
有问题的插件https://github.com/apache/cordova-plugin-geolocation
示例函数调用:
navigator.geolocation.getCurrentPosition(geolocationSuccess,geolocationError,geolocationOptions);
Run Code Online (Sandbox Code Playgroud)
当我第一次启动应用程序时,我收到了 iOS 权限提示,但我可以在后台看到函数调用已经进入错误函数。
我有一个按钮,点击它时我必须检查麦克风权限。
为此,我这样做了:
public func askMicrophoneAuthorization()
{
recordingSession = AVAudioSession.sharedInstance()
recordingSession.requestRecordPermission() { [unowned self] allowed in
DispatchQueue.main.async {
if allowed
{
self.goToNextStep()
} else
{
self.denied()
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是这样的:当我点击按钮并调用askMicrophoneAuthorization方法时,如果这是我第一次请求权限,麦克风系统警报(在plist文件中插入文本)会显示,我可以拒绝或不拒绝该权限。如果我拒绝该权限,然后重新点击按钮,方法 self.denied() 就会被执行,并且我看不到麦克风系统警报。是否可以重新显示系统警报?
我正在生产 Xamarin.iOS 应用程序,该应用程序在 iOS 14 设备上启动时请求本地网络许可。应用程序不使用任何 Bonjour 服务,也不使用任何特定于本地网络的内容。App有各种nuget包,包括Xamarin.Essentials、MvvmCross、Firebase服务、Realm DB等。
我已经浏览了developer.apple.com上的各种开放线程,包括WWDC2020视频,但仍然没有得到触发此权限对话框的原因。
ios-permissions ×10
ios ×8
cordova ×2
geolocation ×2
angular-pwa ×1
avfoundation ×1
ios14 ×1
ios8 ×1
javascript ×1
objective-c ×1
permissions ×1
provisioning ×1
reachability ×1
swift ×1
xamarin ×1
xamarin.ios ×1