当前位置:  编程技术>移动开发
本页文章导读:
    ▪IOS之Objective-C学习札记(五)        IOS之Objective-C学习笔记(五)   今天记录一下学习Cocoa里有关里的Foundation框架。 1.首先Cocoa是由两个不同的框架组成的:Foundation Kit和Application Kit,而Application Kit包含了所有的用户接口对象.........
    ▪ iOS框架引见(三)-Cocoa Touch 层        iOS框架介绍(三)---Cocoa Touch 层 Cocoa Touch 层 如果应用程序构建于iPhone SDK 4.0及其后续版本(且运行于iOS 4.0及后续版本操作系统),则点击Home键的时候,应用程序不会结束,而是切换到后台.........
    ▪ iOS框架引见(六)-Core OS 层       iOS框架介绍(六)---Core OS 层 Core OS 层 如需要进一步了解Accelerate框架,请查看Accelerate框架参考。 External Accessory 框架 iOS系统不但提供内建的安全功能,还提供Security框架(Security.framework).........

[1]IOS之Objective-C学习札记(五)
    来源: 互联网  发布时间: 2014-02-18
IOS之Objective-C学习笔记(五)

   今天记录一下学习Cocoa里有关里的Foundation框架。

1.首先Cocoa是由两个不同的框架组成的:Foundation Kit和Application Kit,而Application Kit包含了所有的用户接口对象和高级类,Foundation框架中则有很多有用的,面向数据的低级类和数据类型。

2.范围的作用,看看一下结构体:        

[plain] view plaincopy
  •           typedef struct _NSRange {  
  •                   unsigned int location;  
  •                   unsigned int length;   
  •           }NSRange;//其中location表示字段存放该范围的起始位置,length表示是该范围内所含元素的个数。  

  •            例如:字符串”Objective-C is a cool language“中,单词”cool“可以用loaction为17,length为4的范围来表示。也许由于Locatio字段未被初始化,所以它 的值可以是NSNotFound,用来表示无意义范围。

               可以用3种方式创建新的NSRange:

    [plain] view plaincopy
  •           (1)直接给字段赋值  
  •                 NSRange range:  
  •                 range.location = 17;  
  •                 range.length = 4;  
  •           (2)应用C的聚合结构赋值机制  
  •                NSRange range = {17,4};  
  •           (3)使用Cocoa提供的一个快捷函数NSMakeRange();  
  •                NSRange range = NSMakeRange(17,4);  

  • 
    

    3.几何数据类型:

    [plain] view plaincopy
  •             (1) NSPoint和NSSize,首先看看它们的结构体:  
  •                   typedef struct _NSPoint{  
  •                              float x ;  
  •                              float y;  
  •                    }NSPoint;  
  •                   typedef struct _NSSize{  
  •                          float width;  
  •                          float height;  
  •                   }NSSIze;  
  •             (2)矩形类型NSRect  
  •                    typedef struct _NSRect{  
  •                            NSPoint origin;  
  •                            NSSize size;   
  •                    }NSRect;  
  •             (3)它们也一样有:创建数据类型的快捷函数,NSMakePoint(),NSMakeSize()和NSMakeRect().  
  • 
    

    4.字符串类型操作:           

    [plain] view plaincopy
    [plain] view plaincopy
  •        (1)创建字符串,除了直接赋值创建NSString字符串外,还可以通过:stringWithFormat方法来通过
  •               格式字符串和参数创建NSString的  
  •               +(id) stringWithFormat : (NSString *)format, .........例子如下: 
  •               NSString *height;  
  •               height = [NSString stringWithFormat : @"Your height is %d feet,%d inches",5,11];  
  •              得到的字符串是“Your height is 5 feet, 11inches”. 
  •                  这里需要注意的地方有两个,第一就是这个方法后面的省略号,表示这个方法可以接收多个以逗
  •                  号隔开的其他参数,第二就是方法声明的开头是一个+号,它代表创建该类的类对象,我们把这
  •                  种方法叫做“工厂方法”。  
  •       (2)获得字符串大小:length,使用方法如下  
  •               unsigned int length = [height length];  
  •               此方法可以准确无误地处理国际字符串。如俄文,中文,日文等。  
  •        (3)NSString字符串比较操作:  
  •               1.-(BOOL) isEqualToString: (NSString *)aString; 使用如下  
  •                    NSString *thing1 = @“hello 2”;  
  •                    NSString *thing2 ;  
  •                    thing2 = [NSString stringWithFormat : @"hello %d",5 ];  
  •                    if ([thing1 isEqualToString  : thing2]){  
  •                          NSLog(@"They are the same!");  
  •                    }//注意此方法是比较字符串指针向的值,而“==”比较的是指针值。  
  •               2.-(NSComparisonResult)compare : (NSString *)string;
  •                    用法如下,首先先看看NSComparisonResult结构体:  
  •                          typedef enum _NSComparisonResult{  
  •                                NSOrderedAscending = -1;  
  •                                NSOrderedSame,  
  •                                NSOrderedDEscending  
  •                          }NSComparisonResult;  
  •                     例子:[@"zoinks"  compare : @"jinies"]将会返回NSOrderedDescending
  •                     (表示左侧的字符在右侧字符的后面)   
  •               3.-(NSComparisonResult) compare : (NSString *)string  
  •                                       options : (unsigned)mask;  
  •                   options参数是一个位掩码,你可以使用位或运算符来添加选项标记。例子如下:  
  •                   if( [ thing1 compare : thing2  
  •                                options : NSCaseInsensitiveSearch | NSNumericSearch ]
  •                      == NSOrderedSame)  
  •                   { NSLog (@"They match!") ; }  
  •   
  •         (4)字符串内是否包含别的字符串  
  •                1 .-(BOOL)hasPrefix:(NSString *)aString;//检查字符串是否以另一个字符串开头  
  •                   -(BOOL)hasSuffix:(NSString *)aString;//检查字符串是否以另一个字符串结尾  
  •                   -(NSRange)rangeOfString: (NSString *)aString ;//将rangeOfString:发送给一个
  •                   NSString对象时,传递的参数是要查找的字符串,它会返回一个NSRange struct 来告诉你
  •                   与这个字符串相匹配的 部分在哪里以及能够匹配上的字符串个数。 
  •                     例子:NSRange range;  
  •                                   NSString *filename = @"draft-chapter.pages";  
  •                                   range = [fileName rangeOfString : @"chapter"];  
  •                     返回的range.start为6,range.length为7.如果传递的参数在接收字符串中没有找到,那
  •                     range.start则等于NSNotFound。  

  • 
    

    5.可变性,NSString是不可变的,这并不意味着你不能操作它们。Cocoa提供了一个NSString的子类,叫做NSMutableString(可以改变的字符串)

    [plain] view plaincopy
  •   
  • [plain] view plaincopy
  • (1)-(id)stringWithCapacity: (unsigned)capacity; //注意这个容量只是给NSMutableString的一个建议。  
  •                   例子:string = [NSMutableString stringWithCapcity : 42];  
  • (2)有了一个可变的字符串,那就可以对它执行各种操作了:  
  •                 1.-(void)appendString : (NSString *)aString;  
  •                 2.-(void)appendFormat : (NSString *)format , ......;  
  •                例子:NSMutableString *string;  
  •                           string = [NSMutableString stringWithCapacity: 50];  
  •                           [  string appendString : @"Hello  there"];  
  •                           [ string appendFormat : @"human %d!",39 ];
  •                          这段代码的运行结果是string被赋值为“Hello there human 39!”  
  •                 3.-(void)deleteCharactersInRange : (NSRange) range;  
  •                        我们经常会把deleteCharactersInRange:和rangeOfString:连在一起使用,例子:  
  •                         NSMuableString *friends;  
  •                         friends = [ NSMutableString  stringWithCapacity: 50];  
  •                         [ friends appendString : @"JAmes  BethLynn  Jack  Evan" ];  
  •                       接下来,找到JAck的字符范围:  
  •                         NSRange  jackRange;  
  •                         jackRange = [friends rangeOfString: @"Jack"];  
  •                         jackRange.length++;//这句的意思是,把后面的空格也算上。  
  •                         [ friends deleteCharactersInRange : jackRange ];  
  •                        结果为:“James  BethLynn  Evan”  
  •     好了,今天就写到这里,继续会有更新,转载请注明:http://blog.csdn.net/yuzhiboyi

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     

        
    [2] iOS框架引见(三)-Cocoa Touch 层
        来源: 互联网  发布时间: 2014-02-18
    iOS框架介绍(三)---Cocoa Touch 层
    Cocoa Touch 层

    Cocoa Touch层包含创建 iOS应用程序所需的关键框架。上至实现应用程序可视界面,下至与高级系统服务交互,都需要该层技术提供底层基础。在开发应用程序的时候,请尽可能不要使用更底层的框架,尽可能使用该层的框架。

    高级特性

    下面章节描述一些常见特性,也许您也正打算在应用程序支持这些特性。

    多任务

    如果应用程序构建于iPhone SDK 4.0及其后续版本(且运行于iOS 4.0及后续版本操作系统),则点击Home键的时候,应用程序不会结束,而是切换到后台。对于大多数应用程序来说,进入后台,它们就会进入挂起状态。让应用程序驻留在后台可以避免以后的重新启动过程,应用程序可以直接将自己激活,这在很大程度上改善了整体用户体验。另外,将应用程序挂起也可以改善系统性能,因为挂起应用程序可以最小化电能使用,并可让前台应用程序获得更多的执行时间。

    尽管应用程序进入后台就会被挂起,但可以通过下述的技术让其在后台继续运行:

    • 应用程序可以请求一定的时间完成某些重要的任务。

    • 应用程序可以声明自身支持的某种服务需要获得定期后台执行时间。

    • 应用程序可以使用本地通告在指定时间向用户发通知。这种方式对于应用程序是否运行没有要求。

    不管应用程序是被挂起还是在后台运行,支持多任务不需要付出额外的工作。但是在某些情况(例如内存不足)下,应用程序可能会被结束运行。因此,应用程序应该可以在任何时候退出。这就意味着许多在退出应用程序时需要执行的任务必须改为在应用程序切换到后台的时候执行。这就要求您在应用程序委托中实现一些新的方法以响应程序的状态切换。

    如果需要进一步了解如何对后台状态切换进行处理以及如何让应用程序在后台继续运行,请查看iOS应用程序编程指南。

    数据保护

    和敏感用户数据打交道的应用程序可以使用设备内建加密功能(有些设备可能不提供内建加密功能)对数据进行保护。如果应用程序指定某个文件受保护,系统会以加密格式将该文件保存在磁盘。当设备锁住的时候,您的应用程序以及其他潜在的闯入者都不能访问该文件,而当用户解锁设备后,系统会生成一份密钥以便您的应用程序就访问该文件。

    如需实现数据保护,应用程序应在待保护数据的创建和管理方式下一些功夫。它必须能够在数据创建之时保证其安全,而且需要适配设备上锁或未上锁造成的文件可访问性的变化。

    如需进一步了解应用程序如何为文件添加数据保护,请查看iOS应用程序编程指南中的实现标准的应用程序行为一章。

    苹果推送通知服务

    iOS 3.0及后续版本的系统中,不管应用程序是否运行,苹果推送通知服务可用于通知用户某个应用程序具有新信息。利用这项服务,您可以向系统推送文本通知,可以触发声音提醒或者在应用程序图标上添加一个数字化标记。这样用户就知道他们应该打开应用程序接收相关信息。

    从设计角度看,让应用程序支持推送通知包含两个部分。首先,iOS应用程序需要请求系统向其发送通知,然后要合理配置应用程序委托使其可以对通知进行恰当处理。这些工作可以通过应用程序委托以及UIApplication对象合作完成。第二,您需要提供一个服务器端进程用于产生最初的通知。该进程运行在您自己的本地服务器,它和苹果推送通知服务协同工作以产生最初的通知。

    如需进一步了解如何配置应用程序以便使用远程通知,请查看本地通知及推送通知编程指南。 

    本地通知

    iOS 4.0引入了本地通知。本地通知是对已有推送通知的补充,通用程序可以通过它在本地生成通知,不再需要依赖外部服务器。当有重要的事件发生时,后台应用程序可以利用本地通知获得用户关注。举个例子,运行于后台的导航应用程序可以使用本地通知提醒用户要转弯。应用程序也可以安排在未来的某个时刻向用户发送本地通知,而且发送这些通知并不要求应用程序处于运行状态。

    本地通知的优点是它独立于您的应用程序。一旦某个通知被安排好后,系统会负责通知发送。而且在发送通知的时候,您的应用程序无需处于运行状态

    如需进一步了解本地通知的使用方式,请查看本地通知及推送通知编程指南。

    手势识别器

    iOS 3.2引入了手势识别器。手势识别器是一个绑定到视图的对象,用于检测常见的手势类型。将手势识别器绑定到视图后,您可以告诉它某个手势发生的时候执行何种动作。之后,手势识别器就可以对原始事件进行跟踪,根据系统定义的试探方式识别手势。在引入手势识别器前,如果要识别一个手势,您需要跟踪视图的原始触摸事件流,然后再使用复杂的试探方法来判断这些事件是否表示某种手势。

    现在,UIKit框架中包含一个UIGestureRecognizer 类,它定义了所有手势识别器的基本行为。您可以使用自定义的手势识别器子类或者系统定义的某个子类处理下面这些标准手势:

    • 拍击 (任意次数的拍击)

    • 向里或向外捏 (用于缩放)

    • 摇动或者拖拽

    • 擦碰 (以任意方向)

    • 旋转 (手指朝相反方向移动)

    • 长按

    如需进一步了解您可以使用的手势识别器,请查看iOS事件处理指南。

    文件共享支持

    应用程序可以使用文件共享让用户访问程序的用户数据文件。文件共享允许应用程序通过iTunes向用户显露应用程序/Documents目录的内容。这样,用户就可以在iPad和桌面计算机来回移动文件。但是,该功能不允许应用程序和同一设备上的其他应用程序共享文件。如果希望在程序间共享文件,请使用剪贴板或者文档交互控制器对象。

    您可以通过如下步骤来让应用程序支持文件共享:

  • 在应用程序的Info.plist文件中添加UIFileSharingEnabled键,并将键值设置为YES。

  • 将您希望共享的文件放在应用程序的Documents目录。

  • 一旦设备插入到用户计算机,iTunes 9.1就会在选中设备的Apps标签中显示一个File Sharing区域。

  • 此后,用户就可以向该目录添加文件或者将文件移动到桌面计算机中。

  • 如果应用程序支持文件共享,当文件添加到Documents目录后,应用程序应该能够识别并做出适当响应。例如说,应用程序可以将新文件的内容显示界面上。请不要向用户展现目录的文件列表并询问他们希望对文件执行什么操作。

    如需进一步了解 UIFileSharingEnabled键,请查看信息属性列表参考。

    点对点服务

    在iOS 3.0 及后续版本,Game Kit框架支持经由蓝牙进行点对点连接。您可以使用点对点连接启动与某个邻近设备的通讯会话,也可用它实现多种多玩家游戏的常见特性。虽然点对点连接主要应用于游戏,但您也可将之应用于其他类型应用程序。

    如需进一步了解如何在应用程序中使用点对点连接的特性,请查看Game Kit 编程指南。如果需要概要了解Game Kit框架,请查看“Game Kit 框架”。

    标准系统视图控制器

    Cocoa Touch层许多框架含有展现标准系统界面的视图控制器。我们提倡您在应用程序中使用这些视图控制器,这样可以让您的程序和系统具有一致的用户体验。如果您需要执行下述任务,请从相应的框架中选择一个视图控制器使用:

    • 显示或者编辑联系人信息 - 请使用Address Book UI框架中的视图控制器。

    • 创建或者编辑日历事件 - 请使用Event Kit UI框架的视图控制器。

    • 创建email或者SMS消息 - 请使用Message UI框架中的视图控制器。

    • 打开或者预览一份文件的内容 - 请使用UIKit框架中的UIDocumentInteractionController类。

    • 从用户的照片库选取一张照片 - 请使用UIKit框架中的 UIImagePickerController 类。

    • 拍摄视频片段 - 请使用UIKit框架中的UIImagePickerController类。

    如需了解如何选择使用视图控制器,请查看iOS视图控制器编程指南。如需了解特定视图控制器所展现的界面,请查看相应的框架参考。

    外部设备支持

    安装iOS 3.2的设备可通过一组设备支持的线缆连接一个外部显示设备。当外部设备连上后,应用程序就可以使用其显示屏显示内容。屏幕的信息,包括屏幕能够支持的分辨率都可通过UIKit框架的接口获取。您也可以通过该框架将应用程序窗口关联到某个屏幕。

    • UIScreen 类用于获取当前所有屏幕(包括设备主屏幕)的屏幕对象。屏幕对象包含屏幕的属性信息(包括将屏幕的尺寸和像素比例也考虑在内的屏幕特征)。

    • 您可以从UIScreenMode 类获得某个具有特定尺寸像素比例的屏幕的信息。

    • 您可以将窗口(使用UIWindow类来表示)指定到某个特定的屏幕。如果您需要对内容作镜像显示,则需要提供两个独立的窗口,然后再在其中显示相同内容。

    如需进一步了解上述类可提供的支持,请查看UIKit框架参考中相应的类描述。

    Cocoa Touch 层包含的框架

    下面部分描述Cocoa Touch层包含的框架以及这些框架提供的服务。

    Address Book UI 框架

    Address Book UI 框架(AddressBookUI.framework)是一套Objective-C的编程接口,可以显示创建或者编辑联系人的标准系统界面。该框架简化了应用程序显示联系人信息所需的工作,另外它也可以确保应用程序使用的界面和其他应用程序相同,进而保证跨平台一致性。

    如果需要进一步了解Address Book UI框架以及如何使用该框架,请查看iOS地址簿编程指南以及iOS地址簿框架参考。

    Event Kit UI 框架

    iOS 4.0引入了Event Kit UI框架(EventKitUI.framework),它提供一个视图控制键可以展现查看并编辑事件的标准系统界面。Event Kit框架(查看“Event Kit框架”可获得该框架的进一步信息)的事件数据是该框架的构建基础。

    如需进一步了解Event Kit UI框架类和方法,请查看Event Kit UI框架参考。

    Game Kit 框架

    iOS 3.0引入了Game Kit框架(GameKit.framework)。该框架支持点对点连接及游戏内语音功能,您可以通过该框架为应用程序增加点对点网络功能。点对点连接以及游戏内语音功能在多玩家的游戏中非常普遍,不过您也可以考虑将其加入到非游戏应用程序。此框架通过一组建构于Bonjour之上的简单而强大的类提供网络功能,这些类将许多网络细节抽象出来,从而让没有网络编程经验的开发者可以更加容易地将网络功能整合到应用程序。

    如需进一步了解Game Kit框架, 请查看Game Kit 编程指南以及Game Kit 框架参考 。

    iAd 框架

    iOS 4.0引入了iAd框架 (iAd.framework)。您可以通过该框架在应用程序中发布横幅广告。广告会被放入到标准视图,您可以将这些视图加入到用户界面,并在合适的时机向用户展现。这些视图和苹果的公告服务相互协作,自动处理广告内容的加载和展现,同时也可以响应用户对广告的点击。

    如需进一步了解如何在应用程序当中使用iAd,请查看iAd 框架参考。

    Map Kit 框架

    iOS 3.0导入了 Map Kit框架 (MapKit.framework) ,该框架供一个可被嵌入到应用程序的地图界面,该界面包含一个可以滚动的地图视图。您可以在视图中添加定制信息,并可将其嵌入到应用程序视图,通过编程的方式设置地图的各种属性(包括当前地图显示的区域以及用户的方位)。您也可以使用定制标注或标准标注(例如使用测针标记)突出显示地图中的某些区域或额外的信息。

    在iOS 4.0系统中,该框架开始支持可拖动标注以及定制覆盖层。可拖动标注允许您通过编程方式或通过用户交互方式重定位某个标注的位置。覆盖层可用于创建多个点组成的复杂地图标注。地图表面诸如公交路线、选举地图、公园边界或者气象信息(例如雷达数据)等可以使用覆盖层进行显示。

    如需进一步了解Map Kit框架中的类,请查看Map Kit 框架参考。

    Message UI 框架

    iOS 3.0引入了Message UI框架 (MessageUI.framework)。您可以利用该框架撰写电子邮件,并将其放入到用户的发件箱排队等候发送。该框架提供一个视图控制器界面,您可以在应用程序中展现该界面,让用户通过该界面撰写邮件。界面的字段可以根据待发送信息的内容生成。例如您可以设置接收人、主题、邮件内容并可以在邮件中包含附件。这个界面允许用户先对邮件进行编辑,然后再选择接受。在用户接受邮件内容后,相应的邮件就会放入用户的发件箱排队等候发送。

    在iOS 4.0及其后续的系统中,该框架提供一个SMS撰写面板控制器。您可以通过它在应用程序中直接创建并编辑SMS信息(无需离开应用程序)。和电子邮件撰写界面一样,该界面也允许用户先编辑SMS信息再发送。

    如需进一步了解Message UI框架中的类,请参考Message UI 框架参考。

    UIKit 框架

    UIKit框架 (UIKit.framework)的Objective-C编程接口为实现iOS应用程序的图形及事件驱动提供关键基础。iOS系统所有程序都需要通过该框架实现下述核心功能:

    • 应用程序管理

    • 用户界面管理

    • 图形和窗口支持

    • 多任务支持

    • 处理触摸及移动事件。

    • 代表标准系统视图和控件的对象

    • 文本和web内容相关操作

    • 剪切、复制以及粘贴

    • 使用动画显示用户界面内容

    • 通过URL方式将其他应用程序整合到系统

    • 苹果推送通知服务支持,请查看“苹果推送通知服务 ”

    • 为残疾用户提供辅助功能

    • 本地通知的调度和发送

    • 创建PDF

    • 使用定制输入视图(其行为类似系统键盘)

    • 创建和系统键盘进行交互的定制文本视图

    除了链编至应用程序的基础代码,UIKit还为下述和设备紧密相连的功能提供支持:

    • 加速器数据

    • 内置相机(存在相机的设备)

    • 用户的图片库

    • 设备名称和模型信息

    • 电池状态信息

    • 距离感应器信息

    • 来自绑定听筒的远程控制信息

    如需进一步了解UIKit框架的信息,请查看UIKit 框架参考。


        
    [3] iOS框架引见(六)-Core OS 层
        来源: 互联网  发布时间: 2014-02-18
    iOS框架介绍(六)---Core OS 层
    Core OS 层

    Core OS层的底层功能是很多其他技术的构建基础。通常情况下,这些功能不会直接应用于应用程序,而是应用于其他框架。但是,在直接处理安全事务或和某个外设通讯的时候,则必须要应用到该层的框架。

    Accelerate 框架

    iOS 4.0引入了Accelerate框架(Accelerate.framework)。该框架的接口可用于执行数学、大数字以及DSP运算。和开发者个人编写的库相比,该框架的优点在于它根据现存的各种iOS设备的硬件配置进行过优化。因此,您只需一次编码就可确保它在所有设备高效运行。

    如需要进一步了解Accelerate框架,请查看Accelerate框架参考。

    External Accessory 框架

    iOS 3.0引入了External Accessory框架(ExternalAccessory.framework),通过它来支持iOS设备与绑定附件通信。附件可以通过一个30针的基座接口和设备相连,也可通过蓝牙连接。通过External Accessory框架,您可以获得每个外设的信息并初始化一个通讯会话。通讯会话初始化完成之后,您可以使用设备支持的命令直接对其进行操作。

    如需进一步了解External Accessory框架的使用方式,请查看External Accessory编程概论。如需了解External Accessory框架中相关类的信息,请查看External Accessory框架参考。如需了解如何开发iOS设备附件,请访问 http://www.apple.com.cn/developer/页面。

    Security 框架

    iOS系统不但提供内建的安全功能,还提供Security框架(Security.framework)用于保证应用程序所管理之数据的安全。该框架提供的接口可用于管理证书、公钥、私钥以及信任策略。它支持生成加密的安全伪随机数。同时,它也支持对证书和Keychain密钥进行保存,是用户敏感数据的安全仓库。

    CommonCrypto接口另外还支持对称加密、HMAC以及Digests。实际上,Digests的功能实和OpenSSL库常用的功能兼容,但是iOS无法使用OpenSSL库。

    在 iOS 3.0及其后续版本的系统中, 您可以让所创建的多个应用程序共享某些Keychain项,这样可以让相同套件内的应用程序的互用更流畅。举个例子,您可以在应用程序间共享用户密码和及其他元素。通过这种方法,您就不需要在每个应用程序单独对用户作出提示。如应用程序需要共享数据,则每个应用程序的Xcode工程必须配备恰当的资格。

    如需要进一步了解Security框架的功能和特征,请查看Security 框架参考 。如需了解如何访问 Keychain,请查看Keychain服务编程指南。如需了解如何在Xcode工程中设置应用程序的资格,请查看iOS 开发指南。如需了解您可以对哪些应用程序资格进行配置,请查看Keychain服务参考中的SecItemAdd函数。

    System

    系统层包括内核环境、驱动及操作系统底层UNIX 接口。内核以Mach为基础,它负责操作系统的各个方面,包括管理系统的虚拟内存、线程、文件系统、网络以及进程间通讯。这一层包含的驱动是系统硬件和系统框架的接口。出于安全方面的考虑,内核和驱动只允许少数系统框架和应用程序访问。

    应用程序可以使用iOS提供的LibSystem库访问多种操作系统底层功能。LibSystem库的接口基于C语言,可为下述功能提供支持:

    • 线程 (POSIX 线程)

    • 网络 (BSD sockets)

    • 文件系统访问

    • 标准 I/O

    • Bonjour和 DNS服务

    • 区域信息

    • 内存分配

    • 数学计算

    许多 Core OS技术的头文件位于<iOS_SDK>/usr/include/目录,<iOS_SDK>是 Xcode安装目录中目标SDK的路径。如果需要了解这些技术相关联的功能,请访问iOS手册页面。


        
    最新技术文章:
    ▪Android开发之登录验证实例教程
    ▪Android开发之注册登录方法示例
    ▪Android获取手机SIM卡运营商信息的方法
    ▪Android实现将已发送的短信写入短信数据库的...
    ▪Android发送短信功能代码
    ▪Android根据电话号码获得联系人头像实例代码
    ▪Android中GPS定位的用法实例
    ▪Android实现退出时关闭所有Activity的方法
    ▪Android实现文件的分割和组装
    ▪Android录音应用实例教程
    ▪Android双击返回键退出程序的实现方法
    ▪Android实现侦听电池状态显示、电量及充电动...
    ▪Android获取当前已连接的wifi信号强度的方法
    ▪Android实现动态显示或隐藏密码输入框的内容
    ▪根据USER-AGENT判断手机类型并跳转到相应的app...
    ▪Android Touch事件分发过程详解
    ▪Android中实现为TextView添加多个可点击的文本
    ▪Android程序设计之AIDL实例详解
    ▪Android显式启动与隐式启动Activity的区别介绍
    ▪Android按钮单击事件的四种常用写法总结
    ▪Android消息处理机制Looper和Handler详解
    ▪Android实现Back功能代码片段总结
    ▪Android实用的代码片段 常用代码总结
    ▪Android实现弹出键盘的方法
    ▪Android中通过view方式获取当前Activity的屏幕截...
    ▪Android提高之自定义Menu(TabMenu)实现方法
    php iis7站长之家
    ▪Android提高之MediaPlayer播放网络音频的实现方法...
    ▪Android提高之MediaPlayer播放网络视频的实现方法...
    ▪Android提高之手游转电视游戏的模拟操控
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3