第一步:在AppDelegate中当应用启动完成后加入一下代码: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //NSUserDefaults非常好用,并不需要用户在程序中设置NSUserDefaults的全局变量,需要在哪里使用NSUserDefaults的数据,那么就在哪里创建一个NSUserDefaults对象,然…
在IOS中公布应用程序非常是喜闻乐见. 近期1周.我更新了6次版本号.可是时不时的会卡住,进度条不走. 最后总结了几个原因. 1.在公布前你要确认自己的证书是否配置正确 2.DNS域名server有没有配置. 8.8.8.8 和 8.8.4.4 或者114.114.114.114 (这3个域名地址来回的尝试.本人在这3个域名下都成功的公布过)附图 3.直接archive.可是要先验证下.这样假设证书或者这书配置文件有问题能够直接改动.…
我们经常会使用条件编译符 #if DEBUG 在 Debug 下执行某些特殊代码.但是一旦我们把代码打包成 dll,然后发布给其他小伙伴使用的时候,这样的判断就失效了,因为发布的库是 Release 配置的:那些 #if DEBUG 的代码根本都不会编译进库中.然而总有时候希望在库中也能得知程序是 Debug 还是 Release,以便库发布之后也能在 Debug 下多做一些检查. 那么有办法得知使用此库的程序是 Debug 配置还是 Release 配置下编译的呢?本文将介绍一个比较靠谱的方法…
IOS程序中的应用名称和版本号在 info.plist 文件中存储着,要想在程序中获得需要使用 NSBundle 对象 下面是示例代码: NSBundle *bundle = [NSBundle mainBundle]; NSDictionary *infodict = bundle.infoDictionary; //应用程序版本号: 1.2.3 NSString *appVersion = [infodict objectForKey:@"CFBundleVersion"]; //…
1.照片权限判断 在iOS6之后,app中使用照片(即自带相册)需要用户权限验证,所以我们可以做一个权限判断给出友好的提示或者界面效果. 相册判断需要导入 <AssetsLibrary/AssetsLibrary.h> ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus]; typedef NS_ENUM(NSInteger, ALAuthorizationStatus) { ALAuthorizationSt…
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 在iOS开发中,经常要考虑系统的向下兼容,如果使用了低版本不存在的API ,则不能向下兼容,这时候如果想兼容低版本,就需要根据当前设备的版本进行不同的处理,在低版本中可能要牺牲一些新功能. 下面以UITabBarItem修改字体为例,说明一下如何向下兼容 if ([[…
函数:isdigit 用法:#include 功能:判断字符c是否为数字 说明:当c为数字0-9时,返回非零值,否则返回零. 函数:islower 用法:#include 功能:判断字符c是否为小写英文字母 说明:当c为小写英文字母(a-z)时,返回非零值,否则返回零. 函数:isupper 用法:#include 功能:判断字符c是否为大写英文字母 说明:当c为大写英文字母(A-Z)时,返回非零值,否则返回零. 函数:isxdigit 用法:#include 功能:判断字符c是否为十六进制数字…
根据 [[UIApplication sharedApplication] enabledRemoteNotificationTypes] 的返回值来进行判断,该返回值是一个枚举值,如下: typedef enum {     UIRemoteNotificationTypeNone    = 0,     UIRemoteNotificationTypeBadge   = 1 << 0,     UIRemoteNotificationTypeSound   = 1 << 1,…
typedef enum {    NETWORK_TYPE_NONE= 0,    NETWORK_TYPE_2G= 1,    NETWORK_TYPE_3G= 2,    NETWORK_TYPE_4G= 3,    NETWORK_TYPE_5G= 4,//  5G目前为猜测结果    NETWORK_TYPE_WIFI= 5,    }NETWORK_TYPE; //方法可以声明成静态方法或者类方法,定义的枚举最好在.h文件中 +(NETWORK_TYPE)getNetworkType…
// 控制台Log输出控制,此确保在release版本下无Log输出 #ifdef DEBUG #define CMBLOG          NSLog #else #define CMBLOG          //WTLLog #endif //是否是iPhone5 #define isIPhone5  ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? \ CGSizeEqualToSize(CGSizeMake…