IOS10下网络请求异常

本以为《微打卡》在ios9下跑的没问题就提交上去了,结果当天就被打回,原因告知是在ios10测试出现bug

于是在xcode8下运行iphone7的模拟器,在日志里看到了下面的信息

2016-09-30 09:44:30.460983 微打卡[21322:1592668] [] nw_socket_set_common_sockopts setsockopt SO_NOAPNFALLBK failed: [42] Protocol not available, dumping backtrace:
[x86_64] libnetcore-856.1.8
0 libsystem_network.dylib 0x000000010badf80e __nw_create_backtrace_string + 123
1 libnetwork.dylib 0x000000010c6e4194 nw_socket_add_input_handler + 3002
2 libnetwork.dylib 0x000000010c6c1db8 nw_endpoint_flow_attach_protocols + 3768
3 libnetwork.dylib 0x000000010c6c0dd5 nw_endpoint_flow_setup_socket + 563
4 libnetwork.dylib 0x000000010c6bfb34 -[NWConcrete_nw_endpoint_flow startWithHandler:] + 2612
5 libnetwork.dylib 0x000000010c6dad11 nw_endpoint_handler_path_change + 1261
6 libnetwork.dylib 0x000000010c6da740 nw_endpoint_handler_start + 570
7 libnetwork.dylib 0x000000010c6f2003 nw_endpoint_resolver_start_next_child + 2240
8 libdispatch.dylib 0x000000

解决方法就是

在xcode,进入菜单product-scheme-edit scheme 添加环境变量OS_ACTIVITY_MODE 为 disable 即可,如下图


但是,日志里貌似还有一个错误提示

objc[23023]: Class PLBuildVersion is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices (0x110589910) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices (0x11031c210). One of the two will be used. Which one is undefined.

初步判断是2个库冲突,但是解决方法未知。

xcode提交应用提示Cannot proceed with delivery的解决方案

itunesconnect 上传应用的时候提示如下错误:

Cannot proceed with delivery: an existing transporter instance is currently uploading this package

根据描述是已经存在了上传的进程了,解决的办法就是清掉这个操作

进入用户目录下的itmstransporter/UploadTokens文件夹下

找到一个xxxxx.local_itunesConnectUSERxxxxxx.itmsp.token文件

然后编辑他,清空里面的内容保存即可。

libpng error: CgBI: unhandled critical chunk on cocos2dx in xcode7.3

同样的代码,通过xcode7.2打包出来没有问题,但是通过xcode7.3打包出来就闪退

看了下日志:

libpng error: CgBI: unhandled critical chunk.

后来在cocos2dx的issues(https://github.com/cocos2d/cocos2d-x/issues/15199)里找到了解决方法,原来和xcode的编译选项有关

在xcode-build setting里将Remove Text Metadata From PNG Files 改为 NO.重新编译即可

You don’t have permission to save the file “project.xcworkspace” in the folder “xxx.xcodeproj”.?

有个网友向我求租,说当他打开ios工程的时候弹出了一下错误提示:

You don’t have permission to save the file “project.xcworkspace” in the folder “x xx.xcodeproj”.?

根据提示,意思是没有权限打开工程文件。

首先,我们先看看该文件的权限是什么情况,具体可以在f inder里显示简介,然后在下面的“共享与权限”

查看当前用户是否有读写权限。

如果没有,我们可以点击下方的+号 把当前用户加入读写权限。

当然,如果你的很多文件权限都需要该。

可以使用chrown,chmod来进行批量修改

ld: framework not found IOKit

IOKit.framework 是一个MAC的类库,但是我们在IOS的工程里有时候也会经常遇到

刚开始,我采用show in finder的方法,找到类库目录,然后直接拖到工程,

但是在编译的时候,还是提示”ld: framework not found IOKit “的错误,

为此我只得使用命令端的方式

对于Xcode5

哎,还是命令靠谱啊~