郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。
假设文章对您有所帮助。欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^
我要捐赠: 点击捐赠
Cocos2d-X源代码下载:点我传送
游戏官方下载:http://dwz.cn/RwTjl
游戏视频预览:http://dwz.cn/RzHHd
游戏开发博客:http://dwz.cn/RzJzI
游戏源代码传送:http://dwz.cn/Nret1
1、设置 ImagePicker 的大小
ImagePicker 在 Popover Controller 总是以默认大小显示,设置 popoverContentSize 属性似乎无用。
解决的方法是将ImagePicker “包括”到一个定制的 ViewController 中,然后再 presentPopover 这个 ViewController :
UIViewController *containerController = [[UIViewController alloc] init];
containerController.contentSizeForViewInPopover = CGSizeMake(600,self.view.frame.size.height);
[containerController.viewaddSubview:_imagePicker.view];
_popController= [[UIPopoverController alloc] initWithContentViewController:containerController];
CGPoint p=[self.view convertPoint:button.center
fromView:sender.superview];
[_popController presentPopoverFromRect:(CGRect){p,CGSizeZero}
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
[_imagePicker.view setFrame:containerController.view.frame];// 非常重要
注意,popover的宽度最多600。
此外。_imagePicker 每次 presentPopoverFromRect 之前都必须 init一次。否则显示位置不对。
2、上传文件里文文件名称乱码问题
在iOSclient将文件名称用URL Encode编码。然后在服务端用URL Decode解码。
client:
NSStringEncodingenc=NSUTF8StringEncoding;
[request setData:datawithFileName [filename stringByAddingPercentEscapesUsingEncoding:enc]
andContentType:@"application/octet-stream" forKey:key];
服务端:
String filename=request.getParameter(“upload_file”);
filename=URLDecode.decode(s,”utf-8”);
3、Mac 64 bit Device
有时从SVN更新project后。Scheme会显示为Mac 64 bit Device,而且不同意执行程序。
这时仅仅须要又一次设置一下Target的DeploymentTarget就好(设置为模拟器或调试设备)。
4、去除调试程序的NSLog
编译參数Optimize Level依据不同的版本号设置。
比如对于Debug版本号是None。对于Release版本号是Fastest,Smallest。
这样,我们能够依据这个參数来又一次定义NSLog函数:
#ifndef __OPTIMIZE__
#define NSLog(...)NSLog(__VA_ARGS__)
#else
#define NSLog(...) {}
#endif
5、警告:no previous prototye for function
依据c规范。 假设函数没有參数。使用void作为函数參数。
函数声明应使用 “void functionA(void);”,而不能是”void functionA();”。
6、数组排序
方法一:- (NSComparisonResult)compare:(Person *)otherObject {
return [self.birthDatecompare:otherObject.birthDate];
}
NSArray *sortedArray;
sortedArray = [drinkDetails sortedArrayUsingSelector:@selector(compare:)];
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[[NSSortDescriptor alloc]initWithKey:@"birthDate"
ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray;
sortedArray = [drinkDetails sortedArrayUsingDescriptors:sortDescriptors];
方法三( 10.6+):
NSArray *sortedArray;
sortedArray = [drinkDetails sortedArrayUsingComparator:^(id a, id b) {
NSDate *first =[(Person*)a birthDate];
NSDate *second =[(Person*)b birthDate];
return [firstcompare:second];
}];
7、Xcode 4的build文件夹在哪里?
Xcode 4 做了很多改变。你将不能找到build文件夹,你也无法找到Products文件组。
那么它把项目编译后生成的可执行文件放在哪里了呢?
答案就是“{USERNAME}/Library/Developer/Xcode/DerivedData/{PROJECT_NAME_AND_RANDOM_CRAP}/Build/Products/{BUILD_TYPE}/{PROJECT_NAME}.app”文件夹。
8、警告:no rule to process file
Xcode试图侦測每一种文件的类型。
当它觉得文件属于“源文件”类型(比方.js文件),
总是试图将它加到 Compile Sources中并试图编译。
解决这个警告的办法是。把这类文件从Build Phases的 Compile Sources移到 Copy Bundle Resources中。
9、警告:'initWithFrame:reuseIdentifier:'is deprecated
该方法在兴许版本号中将被抛弃。
请使用
- initWithStyle:reuseIdentifier:
10、itms-services不工作
itms-services 被apple/iphone识别为一个特殊的字眼。它会校验provisioning profile中指定的证书并进行安装。
在安装这个.ipa文件前,要校验profisioning profile,这会连接到 "ax.init.itunes.apple.com"和 "ocsp.apple.com"。
假设你处于intranet中,请检查是否可訪问上述地址。
假设不能,你将无法使用OTA来安装应用程序。要求iOS 4.0以上。
注:上述地址不能訪问并不会影响安装。可是iOS会在执行时通过上述地址检查证书是否合法,假设安装是合法的,iOS会缓存检查结果(7天)。
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。
假设文章对您有所帮助,欢迎给作者捐赠。支持郝萌主。捐赠数额任意,重在心意^_^
我要捐赠: 点击捐赠
Cocos2d-X源代码下载:点我传送
游戏官方下载:http://dwz.cn/RwTjl
游戏视频预览:http://dwz.cn/RzHHd
游戏开发博客:http://dwz.cn/RzJzI
游戏源代码传送:http://dwz.cn/Nret1