iOS10 App适配权限 Push Notifications 字体Frame 遇到的坑!!!!

添加配置权限

    <!-- 相册 -->
    <key>NSPhotoLibraryUsageDescription</key>
    <string>"xx"想使用您的相册,需要您的允许</string>
    <!-- 相机 -->
    <key>NSCameraUsageDescription</key>
    <string>"xx"想使用您的相机,需要您的允许</string>
    <!-- 麦克风 -->
    <key>NSMicrophoneUsageDescription</key>
    <string>"xx"想使用您的麦克风,需要您的允许</string>
    <!-- 位置 -->
    <key>NSLocationUsageDescription</key>
    <string>"xx"想访问您的位置,请您允许</string>
    <!-- 日历 -->
    <key>NSCalendarsUsageDescription</key>
    <string>"xx"想访问您的日历,请您允许</string>
    <!-- 媒体资料库 -->
    <key>NSAppleMusicUsageDescription</key>
    <string>"xx"想访问您的媒体资料库,请您允许</string>
    <!-- 蓝牙 -->
    <key>NSBluetoothPeripheralUsageDescription</key>
    <string>"xx"想访问您的蓝牙,请您允许</string>
    <!--通讯录 -->
    <key>NSContactsUsageDescription</key>
    <string>"xx"想访问您的通讯录,请您允许</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>请点击“允许”。若不允许,您将无法正常使用“附近”的功能。</string>

添加Push Notifications支持

开关开启后会自动生成xxxx.entitlements文件

这里需要注意几点

生成的该文件是否包含到你的打包工程中Bundle Resources中 如果没有手动添加进去

如果工程有多个Target 且多个证书在一起建议不要使用 Automatically manage signing

采用下面的这种方法

总结

第一个 我们的项目是多个app时的所以在配置证书的时候要指定对应的证书,自动适配会适配不准确,因为我们的多个工程分多个target好多共用的工程。

第二个 就是生成的entitlements文件要包含到bundle中

适配字体

ios中适配sb中的文本... 最好的办法就是手动变更frame

纯代码的页面可以在计算字体size的时候根据比例添加一些frame

+(CGSize)textFrameWithString:(NSString *)text width:(float)width fontSize:(NSInteger)fontSize
{
    NSDictionary *dict = @{NSFontAttributeName: [UIFont systemFontOfSize:fontSize]};
    // 根据第一个参数的文本内容,使用280*float最大值的大小,使用系统14号字,返回一个真实的frame size : (280*xxx)!!
    CGRect frame = [text boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil];
    CGSize textSize = frame.size;
    CGFloat scale = 17.5/17.0;

    // iOS 10
    if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0) {
        textSize.width = textSize.width * scale;
        textSize.height = textSize.height * scale;
    }
    return textSize;
}

iOS10好多坑 大家慢慢趟过去。

时间: 2024-10-21 23:42:36

iOS10 App适配权限 Push Notifications 字体Frame 遇到的坑!!!!的相关文章

Send Push Notifications to iOS Devices using Xcode 8 and Swift 3, APNs Auth Key

Send Push Notifications to iOS Devices using Xcode 8 and Swift 3 OCT 6, 2016 Push notifications are a great way to ensure your users re-engage with your app every once in a while, but implementing them on iOS can be challenging, especially with all o

iOS开发——适配篇&amp;App适配简单概括

App适配简单概括 1:适配:适应.兼容各种不同的情况 系统适配 针对不同版本的操作系统进行适配 屏幕适配 针对不同大小的屏幕尺寸进行适配 在用户眼中 屏幕是由无数个像素组成的 像素越多,屏幕越清晰 在开发者眼中 屏幕是由无数个点组成的,点又是由像素组成的 像素越多,屏幕越清晰 iOS设置尺寸图 一:Autoresizing:基本的控件布局----掌握 在Autolayout之前,有Autoresizing可以作屏幕适配,但局限性较大,有些任务根本无法完成 相比之下,Autolayout的功能比

android客户端应用(native app)适配测试自动化 东海陈光剑 2014年5月5日 0:39:04

未命名 android客户端应用(native app)适配测试自动化 东海陈光剑 2014年5月5日 0:39:04 http://10.125.1.58:88/report.html?run_stamp=20140428054354&min=3&sec=214 <!doctype html><html><head>    <meta charset="UTF-8">    <title>适配测试报告<

Hybrid App适配Android注意点

最近把做好的ipad HTML5混合应用适配到android上,发现android的webview比 iPad差太多了,android4.4由于升级到chromium,和chrome内核一致,所有问题不多,但android4.3以下的版本兼容问题太多了,只能一个一个慢慢解决了! 目前已经碰到了css3 flex box布局的兼容问题, js的兼容问题等. Android的 css3 flex box需要这样写 .frame-page { display: -moz-box; /* Firefox

App适配iPhone 6/ Plus和iOS 8:10条小秘诀

(原文:raywenderlich 作者:Jack Wu 译者:@TurtleFromMars) 过节啦!为庆祝佳节,看看我给这篇文章写的这段极客小诗吧: “Keynote前夜,无人知晓,新API能否登场对Siri的期待,Touch ID的希望而此刻iOS 8应声而出,震惊全场扩展,Swift,Metal,整整一箩筐通用Storyboard,又有谁曾料想一片欢呼声中,有人开始迷惘现有的这些App,适配问题实在惆怅不过不必担心,因为这篇教程会与您讲讲新的API和屏幕尺寸,助你的App焕发容光遵循十

iOS8 Push Notifications

本文转载至 http://blog.csdn.net/pjk1129/article/details/39551887 原贴地址:https://parse.com/tutorials/ios-push-notifications github地址:https://github.com/ParsePlatform/PushTutorial iOS Push通知已经广泛应用于实际开发中,iOS8与之前注册push有所不同,这里把如何潜入代码贴一下,以作记录,详情请看上面地址链接 Adding Co

[PWA] Add Push Notifications to a PWA with React in Chrome and on Android

On Android and in Chrome (but not on iOS), it's possible to send push notifications with a PWA. We'll start by asking the user for permission to send them push notifications, and then look at how to intercept the push event in a service worker. We ca

使用Google Cloud Messaging (GCM),PHP 开发Android Push Notifications (安卓推送通知)

什么是GCM? Google Cloud  Messaging (GCM) 是Google提供的一个服务,用来从服务端向安卓设备发送推送通知. GCM分为客户端和服务端开发. 这里我们只介绍服务端开发.其实过程非常简单,只需利用PHP发送POST数据. api key的取得? 待补充? class GCM { public $api_key = "AIzaSyAU3wZs9raik-mHQ"; function __construct() { } /** * Sending Push

ios 打开app应用权限

ios 打开app应用权限 var cllocationManger = plus.ios.importClass("CLLocationManager"); var enable = cllocationManger.locationServicesEnabled(); var status = cllocationManger.authorizationStatus(); console.log("enable:" + enable); console.log(