1. 复制内容到剪切板

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = @“testString”; //testString是你要复制的内容

2. 退回到桌面(等同于按Home键)

// OC
[[UIApplication sharedApplication] performSelector:@selector(suspend)];
// swift
UIApplication.shared.perform(#selector(NSXPCConnection.suspend))

3. 遍历安装的字体

NSArray *familyNames = [UIFont familyNames];
for (NSString *familyName in familyNames) {
	printf(" ---------- familyNames = %s ----------\n",[familyName UTF8String]);
	NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];
	for (NSString *fontName in fontNames) {
		printf("\tfontName = %s\n",[fontName UTF8String]);
    printf("\n");

4. 设置屏幕常亮(禁止息屏)

//oc版本
[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 
//swift版本
//UIApplication.shared.isIdleTimerDisabled = true; 

5. 禁用暗黑模式

如果想要适配Dark Model请参考我的另一篇文章适配暗黑模式
全局禁用
方法一:在info.plist中

<key>UIUserInterfaceStyle</key>
<string>Light</string>

方法二:
程序启动的时候让window的模式设为一般模式

if (@available(iOS 13.0, *)) {
	[UIApplication sharedApplication].keyWindow.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;

单个界面禁用 (这个会影响他的子视图)

self.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;

6.UIScrollView顶部有留白

iOS11之后出现的现象,解决方案

if (@available(iOS 11.0, *)) {
   scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

7.获取App当前版本

NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];

8.创建Podfile文件并忽略cocoapods警告

第一步: 打开终端并cd到项目路径
第二步: 在终端输入pod init 这时项目会多一个Podfile文件
第三步: 终端输入 pod install 我们以后打开项目的话只能打开.xcworkspace文件了
第四步: 在PodFile文件中添加 inhibit_all_warnings!,忽略pod警告

platform :ios,'9.0'
# 忽略pod产生的警告
inhibit_all_warnings!
target 'YourProjectName' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!
  # 下边是我们想要Pod的内容
  pod 'SDWebImage'

9.获取手机连接的WiFi名和WiFi地址

首先我们需要导入 #import <SystemConfiguration/CaptiveNetwork.h> 头文件。
1.获取WiFi名称

//获取SSID(Service Set Identifier):服务集标识,即WiFi网络的名称。
+ (NSString *)getWifiName{
    NSArray *wifiName = CFBridgingRelease(CNCopySupportedInterfaces());
    id info1 = nil;
    for (NSString *wfName in wifiName) {
        info1 = (__bridge_transfer id)CNCopyCurrentNetworkInfo((CFStringRef) wfName);
        if (info1 && [info1 count]) {
            break;
    NSDictionary *dic = (NSDictionary *)info1;
    NSString *ssidName = [[dic objectForKey:@"SSID"] lowercaseString];
    return ssidName;

2.获取WiFi mac地址

//获取BSSID,即WiFi的mac地址
+ (NSString *)getWifiMacAddress{
    NSArray *wfMac = CFBridgingRelease(CNCopySupportedInterfaces());
    id info1 = nil;
    for (NSString *macName in wfMac) {
        info1 = (__bridge_transfer id)CNCopyCurrentNetworkInfo((CFStringRef) macName);
        if (info1 && [info1 count]) {
            break;
    NSDictionary *dic = (NSDictionary *)info1;
    NSString *wifiMac = [dic objectForKey:@"BSSID"];
    return wifiMac;
 

注意:1. ⚠️⚠️⚠️获取WiFi信息的两个方法在iOS12之前可以直接获取WiFi信息。如果是iOS12之后,我们需要找到 Target —> Capabilities —> Access WiFi Information 并打开这个选项。详情请查看 资料
2. ⚠️⚠️⚠️iOS13之后我们除了打开Access WiFi Information这个选项,我们还需要打开位置权限,否则也是获取不到WiFi信息的。

10.设置静音模式下播放本地音频

// AppDelegate中设置这段代码
do {
	try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback)
    try AVAudioSession.sharedInstance().setActive(true)
} catch let error as NSError {
	print("error: \(error.localizedDescription)")
                                    在做app开发时,我们需要保持某个页面常亮,可以调用        UIApplication.sharedApplication().idleTimerDisabled = true 
使屏幕保持常亮,以达到目的,但同时也降低手机的使用寿命。
let kScreenHeight = UIScreen.main.bounds.size.height
///屏幕宽度
let kScreenWidth = UIScreen.main.bounds.size.width
///状态栏高度
var kStatusBarHeight:CGFloat {
    get {
        if #available(iOS 13, *) {
            return (UIApplication.shared.windows[0]
                                    默认情况下,当设备一段时间没有触控动作时,iOS会锁住屏幕。但有一些应用是不需要锁屏的,比如视频播放器等;
    [UIApplication sharedApplication].idleTimerDisabled =
    [[UIApplication sharedApplication] setIdleTimerDisabled:YES];
                                    SystemSetting             将睡眠超时设置为用户在系统设置中已指定的任何时间。NeverSleep                 防止屏幕变暗。Screen.sleepTimeout 的特殊值的常量。使用它们可指定除屏幕变暗前的固定秒数以外的其他内容。......
[ [ UIApplication sharedApplication ] setIdleTimerDisabled:YES ] ;
这句加到AppController.mm文件的didFinishLaunchingWithOptions方法里面,添加到
[[UIApplicationsharedApplication]setStatusBarHidden:YES];
这句...