Fork me on GitHub
上一页 1 ··· 50 51 52 53 54 55 56 57 58 ··· 125 下一页

2012年3月20日

摘要: 区分BundleVersion和BundleShortVersionString最近遇到了关于检查更新的版本问题了。问题出在了Info.Plist配置中的两个字段,BundleVersion和BundleShortVersionString。搞了两年的开发,第一次看到还有另一个字段的版本。由于版本检测升级的问题,搞得一众人手忙脚乱,一直讨论都没有一个定论。迅速google后,网络上多数都是对官方文档的复述,还是没有实质的解决。有一部分人的观点是,BundleVersion的会出现非a.b.c.d的数值,类似于beta等后来在stack overflow,大致是说苹果的BundleVersion 阅读全文
posted @ 2012-03-20 23:50 pengyingh 阅读(510) 评论(0) 推荐(0)
摘要: 在iphone上使用动态库的多为dylib文件,这些文件使用标准的dlopen方式来使用是可以的。那相同的在使用framework文件也可以当做动态库的方式来动态加载,这样就可以比较自由的使用apple私有的framework了。dlopen是打开库文件dlsym是获取函数地址dlclose是关闭。当然,要使用这种方式也是有明显缺陷的,那就是你要知道函数名和参数,否则无法继续。私有库的头文件可以使用class dump的方式导出来,这个详细的就需要google了。下面是两个使用的例子1:这是使用coreTelephony.framework获取imsi#define PRIVATE_PATH 阅读全文
posted @ 2012-03-20 23:46 pengyingh 阅读(1340) 评论(0) 推荐(0)
摘要: 两个简单的错误提示和原因在使用iTunes Connect上传时出现Info.plist does not contain a CFBundleResourceSpecification这样的错误时通常是因为你上传的是模拟器的版本的程序。建议在上传前还是经过真机测试的比较好。在Xcode的 Organizer中出现"Xcode cannot find the software image to install this version"通常是因为开发环境的版本比设备的版本还底,你必须升级你的开发环境来解决问题。或者在其他的电脑上安装的不同的ios版本同时这里没有备份。你同样 阅读全文
posted @ 2012-03-20 23:42 pengyingh 阅读(273) 评论(0) 推荐(0)
摘要: 使用UIWebView显示多种文档除了HTML的内容,UIWebView还可以显示多种类型的文档包括以下的类型· Excel (.xls)· Keynote (.key.zip)· Numbers (.numbers.zip)· Pages (.pages.zip)· PDF (.pdf)· Powerpoint (.ppt)· Word (.doc)· Rich Text Format (.rtf)· Rich Text Format Directory (.rtfd.zip)· Keynot 阅读全文
posted @ 2012-03-20 23:41 pengyingh 阅读(243) 评论(0) 推荐(0)
摘要: 如果你准备写一个类,希望保证只有一个实例存在,同时可以得到这个特定实例提供服务的入口,那么可以使用单态设计模式。单态模式在Java、C++中很常用,在Cocoa里,也可以实现。但是,Objective-C的单例模式绝对和你所想象不一样,他的写法和你所见过的所有语言的写法都不一样。官方建议由于自己设计单态模式存在一定风险,主要是考虑到可能在多线程情况下会出现的问题,因此苹果官方建议使用以下方式来实现单态模式:static MyGizmoClass *sharedGizmoManager = nil;+ (MyGizmoClass*)sharedManager{ @synchronized(sel 阅读全文
posted @ 2012-03-20 23:32 pengyingh 阅读(546) 评论(0) 推荐(0)
摘要: 当系统存在动态版本的库时,如何直接链接静态版本的库通常,连接器会遍历目录去寻找动态版本的库如果没找到,在每一个目录下查找静态版本的相同的库。显示的判断使用哪一个版本的库时通过设置查找路径。在命令行中使用-L连接选项,随后时查找的目录路径。在xcode中的设置是使用Library Search Paths来设置查找目录在编译的过程中,通过在xcode中的other linker flags的编译设置中设置-search_paths_first如下图的设置。这样支持直接使用静态版本的库,即使系统有一个动态版本的库。 参考:https://developer.apple.com/devcenter/ 阅读全文
posted @ 2012-03-20 23:30 pengyingh 阅读(320) 评论(0) 推荐(0)
摘要: libnpc.a是编译成i386架构(也就是intel cpu)的,而iPhone是armv6/armv7架构,架构不兼容所以无法编译。原来模拟器和真机要分别编译,模拟器是i386的平台架构,真机是armv6,armv7所以会报上面的错。查询文件的架构类型cd documentslipo -info libFirstLibrary.alipolipo –create Release-iphoneos/libiphone.a Debug-iphonesimulator/libiphone.a –output libiphone.a看到这样的命令行,你会怎样理解呢。很简单,我将模拟器和设备的静态库 阅读全文
posted @ 2012-03-20 23:22 pengyingh 阅读(1534) 评论(0) 推荐(0)
摘要: +(NSString*) md5:(NSString*) str{ const char *cStr = [str UTF8String]; unsigned char result[CC_MD5_DIGEST_LENGTH]; CC_MD5( cStr, strlen(cStr), result ); NSMutableString *hash = [NSMutableString string]; for(int i=0;i<CC_MD5_DIGEST_LENGTH;i++) { [hash appendFormat... 阅读全文
posted @ 2012-03-20 15:06 pengyingh 阅读(508) 评论(0) 推荐(0)
摘要: 因为C语言风格的字符串容易出错且不易管理,黑客们甚至利用可能存在的缓冲区溢出bug把C语言风格的字符串作为攻击目标,所以出现了很多字符串封装类。不幸的是,在某些场合下我们不知道该使用哪个字符串类,也不知道怎样把一个C风格的字符串转换成一个字符串封装类。 这篇文章将介绍所有在Win32 API, MFC, STL, WTL 和 Visual C++ 运行库中出现的字符串类型。我将描述每一个类的用法,告诉大家怎样创建每一个类的对象以及怎样把一个类转换成其他类。受控字符串和Visual C++ 7中的类两部分是Nish完成的。 为了更好的从这篇文章中受益,你必须要明白不同的字符类型和编码,这些内.. 阅读全文
posted @ 2012-03-20 14:55 pengyingh 阅读(460) 评论(0) 推荐(0)
摘要: 字符串的长度通常是指字符串中包含字符的数目,但有的时候人们需要的是字符串所占字节的数目。常见的获取字符串长度的方法包括如下几种。1.使用sizeof获取字符串长度sizeof的含义很明确,它用以获取字符数组的字节数(当然包括结束符\0)。对于ANSI字符串和UNICODE字符串,形式如下:sizeof(cs)/sizeof(char) sizeof(ws)/sizeof(wchar_t)可以采用类似的方式,获取到其字符的数目。如果遇到MBCS,如"中文ABC",很显然,这种办法就无法奏效了,因为sizeof()并不知道哪个char是半个字符。2.使用strlen()获取字符 阅读全文
posted @ 2012-03-20 14:53 pengyingh 阅读(1955) 评论(0) 推荐(0)
上一页 1 ··· 50 51 52 53 54 55 56 57 58 ··· 125 下一页

导航