iOS10 App适配权限 Push Notifications 字体Frame 遇到的问题

时间:2021-09-20 14:40:24

添加配置权限

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!-- 相册 -->
<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支持

iOS10 App适配权限 Push Notifications 字体Frame 遇到的问题

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

iOS10 App适配权限 Push Notifications 字体Frame 遇到的问题

iOS10 App适配权限 Push Notifications 字体Frame 遇到的问题

这里需要注意几点

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

iOS10 App适配权限 Push Notifications 字体Frame 遇到的问题

iOS10 App适配权限 Push Notifications 字体Frame 遇到的问题

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

iOS10 App适配权限 Push Notifications 字体Frame 遇到的问题

采用下面的这种方法

iOS10 App适配权限 Push Notifications 字体Frame 遇到的问题

总结

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

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

适配字体

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
+(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 app适配权限 push notifications 字体frame 遇到的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!