1、现象描述:
xcode6 新建项目,删除storyboard,删除lunch xib,代码创建windows和rootViewcontrol,能正常运行,但5s等4寸机型屏幕上部和下部显示为黑色背景,只有中间一块为可视区域。当然,状态栏也一同下移。
2、原因分析:
项目中没有4寸屏的启动图[……]
1、现象描述:
xcode6 新建项目,删除storyboard,删除lunch xib,代码创建windows和rootViewcontrol,能正常运行,但5s等4寸机型屏幕上部和下部显示为黑色背景,只有中间一块为可视区域。当然,状态栏也一同下移。
2、原因分析:
项目中没有4寸屏的启动图[……]
Undefined symbols for architecture arm64:
“_OBJC_CLASS_$_CTTelephonyNetworkInfo”, referenced from:
objc-class-ref in libPushSDK-1.8.4.a(JPFUtilities.o[……]
很多人在App开发结束后提交苹果商店上传包时遭到拒绝,还未提交审核哦,刚上传完还在预发行里,构建版本为“无效的二进制文件”,苹果发来“贺电”,拒绝理由为:
这句话的大概意思是说,程序中调用了App的私有方法 setGeometryDelegate:,可我们搜索整个项目都没找到有调用该方法的代码,那肯定就是使用的第三方框架中有违反了这一条咯,网上找了相关资料,原来是百度地图干的。
百度官方也给了相关回应,在Other Linker Flags中加 -ObjC 即可,注意大小写!!!
修改好后重新打包上传,如果版本冲突就改下版本号或build号,打包重传。
邮件原文参考:[……]
相信很多开发人员都会自定义NSLog的输入方式,一方面可以自定义自己的输出格式,有利于调试程序,比如说日志输出时打印程序所在的文件与行数;另一方面有利控制日志的输出,比如调试时输出日志,但发布后不输出。
示例:
1 2 3 4 5 6 | // 自定义输出 SALog(...) #ifdef DEBUG #define SALog(...) NSLog(@"%s-%d行:%@", __PRETTY_FUNCTION__, __LINE__, [NSString stringWithFormat:__VA_ARGS__]) #else #define SALog(...) #endif |
问题来了,很多人都知道#ifdef DEBUG的意义在于只有调试时才输出日志,发布时不输出日志,但很多人都只知道在调试时确实有日志输出,可发布呢?无人关心了。其实有个地方是需要设置的,Product–Scheme–Edit Scheme–Info中的Build Configuration,如下图所示:[……]