AQSPermissionsLib 0.2.0

AQSPermissionsLib 0.2.0

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布最后发布2014年12月

kaiinui 维护。



  • 作者
  • kaiinui

无忧处理权限问题!

照片库

只需按照以下步骤请求访问照片库的权限。

[AQSPermissions askPhotoLibraryPermissionWithBlock:^(BOOL permission) {
    if (permission) {
        NSLog(@"Yay! The permission has granted.");
    } else {
        NSLog(@"You could not get the permission.");
    }
}];

- askPhotoLibraryPermissionWithBlock: 如果已授予/拒绝权限,则不会执行任何操作(只需调用带有当前权限的块),因此您在调用此方法之前不需要检查权限是否已检查。

以下代码效果良好。

// XXPrePermissionViewController.m

// In view, show a button and some tutorial.

- (IBAction)didPushAskPermissionButton:(id)sender {
    [AQSPermissions askPhotoLibraryPermissionWithBlock:^(BOOL permission) {
        if (permission) {
            // Go to the main view.
        } else {
            // Show some help to turn on the permission.
        }
    }];
}

此代码的效果如下。

  1. 如果用户第一次运行应用
    1. 展示视图。
    2. (用户点击按钮。)
    3. iOS 会请求权限
    4. -> 如果获得权限,则显示主视图。
    5. -> 如果拒绝权限,则显示帮助信息。
  2. 用户已经运行过此应用。
    1. -> 如果获得权限,则显示主视图。
    2. -> 如果拒绝权限,则显示帮助信息。

或者,如果你只是检查是否已授予访问权限(没有使用 blocks),

BOOL permission = [AQSPermissions checkPhotoLibraryPermission];

请注意,如果没有请求权限,则 - checkPhotoLibraryPermission 返回 NO

安装

pod 'AQSPermissionsLib'

并将 AQSPermissions.h 导入以开始使用!

一些趣事

添加用法描述

您可以为权限请求添加用法描述,如下所示。

要执行此操作,只需将键 NSPhotoLibraryUsageDescription 添加到 <appname>-Info.plist 并赋予字符串值。进行本地化时,按照以下方式编辑 InfoPlist.strings

这可能会提高审批率。

NSCameraUsageDescription = "I want to access your photos.";

想要多次测试权限请求

只需将您应用的 Bundle Identifier 从 org.openaquamarine.PermissionsLib 更改为 org.openaquamarix.PermissionsLib

iOS 会将它们识别为不同的应用。

参考资料

许可证

MIT 许可证 (MIT)

版权所有 (c) 2014 AquaSupport

本协议特此授予任何获得本软件及其相关文档文件(统称为“软件”)副本的个人无限制地使用、复制、修改、合并、出版、分发、再许可和/或销售软件副本的权利,并允许使用软件的个人从事上述活动,前提是必须遵守以下条件

上述版权声明和本许可说明应包含在软件的任何副本或实质部分中。

软件按“原样”提供,不提供任何明示或默示的保证,包括但不限于适销性、特定目的适用性和非侵权性保证。在任何情况下,作者或版权持有人不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,无论这些索赔、损害或其他责任是出于、源于或与软件或其使用或其他方式有关。