cocosbuilder3.0在某些电脑或者环境下勾选publish to zip file 会直接闪退,跟踪源代码之后发现有个联网请求获取uuid,这一步不知道什么原因没获取到。不过我们可以改掉这个机制。
首先打开ProjectSettings.m
函数
- (NSString*) publishCacheDirectory中
NSString* uuid =[PlayerConnection sharedPlayerConnection].selectedDeviceInfo.uuid;
改成任意字符串
比如
NSString* uuid =@"mygame";//[PlayerConnection sharedPlayerConnection].selectedDeviceInfo.uuid;
这样改后程序就不会再闪退。如果发现在项目文件夹下没生成 Published-iOS 那么你需要更改一下zip调用的代码打开CCBPublisher.m文件
函数
- (BOOL) archiveToFile:(NSString*)file中
在
[manager removeItemAtPath:file error:NULL];
下发加入NSError *error = [NSError errorWithDomain:@"errorzip" code:255 userInfo:nil];
[manager createDirectoryAtPath:[file substringToIndex:file.length-7] withIntermediateDirectories:NO attributes:nil error:&error];
也就是现有ZIP命令无法创建文件夹,我们需要手动创建一下。这样改过之后生成就正常了。
不过要想在代码里面使用这个zip,需要改动CCBReader的。这个有空补上