iOS app国际化 、跳转到系统设置、iOS10通知、正则表达式

一、APP国际化 先上效果图:

效果图.gif

①、添加需要支持的语言种类,如下图

1.png

②、新建File文件

2.png

③、按照第②步分别创建2个.strings的文件,文件名必须为InfoPlist.strings和最好为Localizable.strings。如下图:

3.png

④点击上图3中右边视图中绿色框内的Localizable,会弹出下图所示:,然后选择对应的语言文件,Base是默认的语言文件!分别对InfoPlist.strings和Localizable.strings做上述处理!

4.png

⑤、如下图,然后分别在不同的语言文件中创建同一key,不同Value的字符串,如图

5.png

6.1.png

6.2.png

⑥忘了说了:InfoPlist.strings文件里面主要存的是配置文件信息的不同语言键值对,如“CFBundleDisplayName”是APP的名字;Localizable.strings主要存的是自定义的一些字符串;(本人自己的理解,欢迎指教)

//NSLocalizedString(<#key#>, <#comment#>) 文件名默认为Localizable时
// NSLocalizedStringFromTable(<#key#>, <#tbl#>, <#comment#>)文件名不为Localizable时取字符串的方法
 NSString * string = NSLocalizedString(@"woLabel", @"找不到key时默认的字符串")

二、跳转到系统设置

首先在项目中的info.plist中添加 URL types 并设置一项URL Schemes为prefs,如下图:

prefs.png

通过URL Scheme的方式打开内置的Settings,代码如下

//iOS10之前
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=ACCESSIBILITY"]]; 
//iOS10
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];

APP权限设置 — UIApplicationOpenSettingsURLString 
//以下在iOS10无效
About — prefs:root=General&path=About
Accessibility — prefs:root=General&path=ACCESSIBILITY
Airplane Mode On — prefs:root=AIRPLANE_MODE
Auto-Lock — prefs:root=General&path=AUTOLOCK
Brightness — prefs:root=Brightness
Bluetooth — prefs:root=General&path=Bluetooth
Date & Time — prefs:root=General&path=DATE_AND_TIME
FaceTime — prefs:root=FACETIME
General — prefs:root=General
Keyboard — prefs:root=General&path=Keyboard
iCloud — prefs:root=CASTLE
iCloud Storage & Backup — prefs:root=CASTLE&path=STORAGE_AND_BACKUP
International — prefs:root=General&path=INTERNATIONAL
Location Services — prefs:root=LOCATION_SERVICES  //定位服务
Music — prefs:root=MUSIC
ACCOUNT  — prefs:root=ACCOUNT_SETTINGS
Music Equalizer — prefs:root=MUSIC&path=EQ
Music Volume Limit — prefs:root=MUSIC&path=VolumeLimit
Network — prefs:root=General&path=Network
Nike + iPod — prefs:root=NIKE_PLUS_IPOD
Notes — prefs:root=NOTES
Notification — prefs:root=NOTIFICATIONS_ID
Phone — prefs:root=Phone
Photos — prefs:root=Photos
Profile — prefs:root=General&path=ManagedConfigurationList
Reset — prefs:root=General&path=Reset
Safari — prefs:root=Safari
Siri — prefs:root=General&path=Assistant
Sounds — prefs:root=Sounds
Software Update — prefs:root=General&path=SOFTWARE_UPDATE_LINK
Store — prefs:root=STORE
Twitter — prefs:root=TWITTER
Usage — prefs:root=General&path=USAGE
VPN — prefs:root=General&path=Network/VPN
Wallpaper — prefs:root=Wallpaper
Wi-Fi — prefs:root=WIFI

三、[iOS10通知、正则表达式] 通知带图片,支持自定义弹窗样式(https://github.com/wslcmk/iOS10NotificationAndRegularExpression.git)

iOS10系统.png

iOS10自定义.png

直接上iOS10通知和正则表达式 Demo,具体就不再详述了,网上资料比较多,也挺详细的,想了解的可以去看看! iOS10通知 正则表达式

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏潇涧技术专栏

Mou and StackEdit and Mathjax

本文记录使用Mou和Stackedit中出现的一些问题,使其能够正常渲染带数学公式的文章

901
来自专栏更流畅、简洁的软件开发方式

【视频】自然框架之分页控件的使用方法(二) 下载、DLL说明和web.config的设置

  上次说的是QuickPager分页控件的PostBack的使用方式,也提供了源码下载。但是有些人下载之后发现有一大堆的文件夹,还有一大堆的DLL,到底要用哪...

2005
来自专栏数据结构与算法

My Vim

noip考完啦 不管成绩怎么样,以后不用Dev啦。 尝试一下传说中的Vim 我的Vim配置 Vim8.0 https://files.cnblogs.com/f...

5397
来自专栏非典型技术宅

ViewController及View的生命周期1. 起因2. Controller的生命周期3. View的生命周期4. 内存警告

1463
来自专栏西安-晁州

rabbitmq消息队列——"工作队列"

二、”工作队列” ? 在第一节中我们发送接收消息直接从队列中进行。这节中我们会创建一个工作队列来分发处理多个工作者中的耗时性任务。 工作队列主要是为了避免进行一...

4060
来自专栏24K纯开源

一款批量修改AE模板的工具

一、需求分析      对于视频后期剪辑及相关从业人员来说,AE(After Effects)模板效果是一个不错的开始点。在模板效果的基础上,可以很快的做出各种...

3116
来自专栏图像识别与深度学习

2018-04-08ubunu16.04.4LTS环境配置

2586
来自专栏向治洪

React Native项目实战之fetch请求并填充界面

fetch简介 在 AJAX 时代,进行请求 API 等网络请求都是通过XMLHttpRequest 或者封装后的框架进行网络请求。而在前端快速发展地过程中,为...

4106
来自专栏一个会写诗的程序员的博客

bootstrap-table 前端分页,刷新事件代码实例

参考文档: http://bootstrap-table.wenzhixin.net.cn/

7331
来自专栏挖掘大数据

Cobub无码埋点关键技术实现流程(附图)

随着大数据时代的到来,数据采集也已经变的越来越重要。前端埋点作为一个比较成熟的数据接入手段被广泛应用着。目前埋点分为两种方式,有码与无码埋点。有码埋点比较容易理...

2486

扫码关注云+社区