iOS 调用系统相关功能(本机信息,手电筒,电话,短信,通讯录,内存,电池,亮度)

设备信息

注获取手机型号需要导入
 #import "sys/utsname.h"
 获取运行商需要导入
 #import <CoreTelephony/CTCarrier.h>
 #import <CoreTelephony/CTTelephonyNetworkInfo.h>
//设备唯一标识符
    NSString *identifierStr = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
    NSLog(@"设备唯一标识符:%@",identifierStr);
    //手机别名: 用户定义的名称
    NSString* userPhoneName = [[UIDevice currentDevice] name];
    NSLog(@"手机别名: %@", userPhoneName);
    //设备名称
    NSString* deviceName = [[UIDevice currentDevice] systemName];
    NSLog(@"设备名称: %@",deviceName );
    //手机系统版本
    NSString* phoneVersion = [[UIDevice currentDevice] systemVersion];
    NSLog(@"手机系统版本: %@", phoneVersion);
    //手机型号
    struct utsname systemInfo;
    uname(&systemInfo);

    NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
    //iPhone
//    NSString * phoneModel =  [self ];
   NSLog(@"手机型号:%@",deviceString);
    //地方型号  (国际化区域名称)
    NSString* localPhoneModel = [[UIDevice currentDevice] localizedModel];
    NSLog(@"国际化区域名称: %@",localPhoneModel );
    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
    // 当前应用软件版本  比如:1.0.1
    NSString *appCurVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"];
    NSLog(@"当前应用软件版本:%@",appCurVersion);
    // 当前应用版本号码   int类型
    NSString *appCurVersionNum = [infoDictionary objectForKey:@"CFBundleVersion"];
    NSLog(@"当前应用版本号码:%@",appCurVersionNum);
    CGRect rect = [[UIScreen mainScreen] bounds];
    CGSize size = rect.size;
    CGFloat width = size.width;
    CGFloat height = size.height;
    NSLog(@"物理尺寸:%.0f × %.0f",width,height);
    CGFloat scale_screen = [UIScreen mainScreen].scale;
    NSLog(@"分辨率是:%.0f × %.0f",width*scale_screen ,height*scale_screen);
    CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];
    CTCarrier *carrier = info.subscriberCellularProvider;
    NSLog(@"运营商:%@", carrier.carrierName);


----------

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS 系统中,可以使用`WKWebView`的 `shouldPreviewElement` 方法和 `WKPreviewActionItem` 来实现将机号保存到通讯录功能。 具体步骤如下: 1. 在 `WKWebView` 的代理方法 `webView(_:shouldPreviewElement:): WKPreviewElementInfo?` 中判断是否是电话号码,并返回一个 `WKPreviewElementInfo` 对象。 ```swift func webView(_ webView: WKWebView, shouldPreviewElement elementInfo: WKPreviewElementInfo) -> WKPreviewElementInfo? { if let phoneNumber = elementInfo.linkURL?.absoluteString, phoneNumber.isPhoneNumber { return elementInfo } else { return nil } } ``` 2. 在 `WKWebView` 的代理方法 `webView(_:previewingViewControllerForElement:defaultActions:) -> UIViewController?` 中创建一个 `UIViewController` 对象,并添加一个保存电话号码到通讯录的操作。 ```swift func webView(_ webView: WKWebView, previewingViewControllerForElement elementInfo: WKPreviewElementInfo, defaultActions previewActions: [WKPreviewActionItem]) -> UIViewController? { let phoneNumber = elementInfo.linkURL!.absoluteString let alertController = UIAlertController(title: "是否保存\(phoneNumber)到通讯录?", message: nil, preferredStyle: .actionSheet) let saveAction = WKPreviewActionItem(title: "保存到通讯录", style: .default) { (action, viewController) in // 保存电话号码到通讯录 let contact = CNMutableContact() contact.phoneNumbers.append(CNLabeledValue(label: CNLabelPhoneNumberMain, value: CNPhoneNumber(stringValue: phoneNumber))) let contactController = CNContactViewController(forUnknownContact: contact) contactController.allowsActions = false contactController.allowsEditing = true viewController.navigationController?.pushViewController(contactController, animated: true) } alertController.addAction(saveAction) let cancelAction = WKPreviewActionItem(title: "取消", style: .cancel) { (action, viewController) in // 取消操作 viewController.dismiss(animated: true, completion: nil) } alertController.addAction(cancelAction) return alertController } ``` 其中,`phoneNumber.isPhoneNumber` 是一个自定义的字符串扩展方法,用于判断是否是电话号码。`CNContactViewController` 是 iOS 系统提供的用于显示和编辑联系人信息的控制器。 最后,在 `Info.plist` 文件中添加以下权限请求: ```xml <key>NSContactsUsageDescription</key> <string>需要访问通讯录来保存电话号码</string> ``` 这样就可以实现在 iOS 系统中点击手机号码保存到通讯录功能了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值