前言:记录一下使用Xcode过程中遇到的问题
1.关于开发者的Team的问题,是选用自己的个人Team还是选用公司的付费的Team(本机环境:Xcode9 + iPad :iOS11.0.3)
问题:在用自己的账号的时候,最开始是发现的您的账号在每7天内只能创建10个 APP IDs,之前出现这种情况,我都是用公司的Team,现在离职了,写自己的测试app还是用自己的账号吧。图片示例:
解决方案:那么我在Xcode->preferences->Accounts 添加另外一个账号
衍生问题:提示如下:
衍生问题:那么说我们怎么注册设备到某个Apple ID呢?
思考过程:是否是像我们之前在使用加入付费账号的成员那样到Apple Developer那里添加设备
解决过程:登录后发现没有成为付费账号的成员的网站的样子并没有发现有让我们注册设备的地方。
衍生问题:这就完了吗?并没有。我们要注意到,上边的文档和博客都有说明,这是在Xcode7之后才能自动注册的,那么之前如果只是个人账号,又没有付费是怎么测试的呢?刚好我搜到了另外的一篇文章(注意文章是针对于Xcode 4.5.2的) 文章地址
2.App installation failed.Could not write to the device. (本机环境:Xcode9 + iPad :iOS11.0.3)
图片展示:
解决办法:把原来安装到真机设备上的应用删除掉,重新Run
3. 当Xcode版本低但是使用的真机版本高的时候应该怎么办?(比如说Xcode8对应iOS11.0 或者是Xcode9.0对应iOS11.1这种不匹配的情况)
目录:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
参考网址:
部分高版本设备支持文件Use Xcode 8 with iOS 11:https://stackoverflow.com/questions/44381860/use-xcode-8-with-ios-11
如需下载更全的高版本的设备支持文件可查看这里:
Model is running iOS 10.2 (14C92), which may not be supported by this version of Xcode:https://stackoverflow.com/questions/41220525/model-is-running-ios-10-2-14c92-which-may-not-be-supported-by-this-version-of/41928402#41928402
那么他们这些支持高版本的设备支持文件是怎么得到的呢?
下边的链接可以告诉我们怎么获得到低版本的Xcode获取到高版本的设备支持文件的方法:
How to use iOS 11 Beta installed device with Xcode 8:https://medium.com/swiftist/how-to-use-ios-11-beta-installed-device-with-xcode-8-c255b916aca5
我的总结是这样的:
1.下载高版本的Xcode;
2.到高版本的Xcode的设备支持文件的目录下,复制出来支持的高版本的设备支持文件;
3.把第2步得到的高版本的设备支持文件放到低版本的Xcode的设备支持文件的目录下。
这样就可以在低版本的Xcode上Run高版本的真机了
下载不同版本的Xcode:https://developer.apple.com/download/
就下载低版本的Xcode说几句:有的时候我们升级了,有可能需要退回去到低版本Xcode,就像我前一段时间遇到的一个问题,就是使用了某直播点播的SDK,后来发现使用Xcode8可以正常的播放视频,但是使用Xcode9只有声音,没有画面,当时虽然是有适配了关于iOS11的内容还是得又退回到了Xcode8;等待着所用SDK的更新,或者是选取别的方案。
别的解决方案有多种:
如:1.虽然是Xcode的问题和他们的SDK有不兼容,但是可能web端能够正常地使用,那么其实我们也可以把视频的播放这部分,用web来处理;如果是项目紧急的情况下,我们就可以在集成进来别的相关的SDK,在避免冲突的情况下。然后我们的新增的直播的点播的内容就可以选用新的SDK来处理,之前的可以由web端来处理
2.存在的一个问题是,可能不同的直播的SDK之间不能播放对方的点播,那么怎么解决呢,其实直播的平台之间他们都可以相互拉取视频,都有相应的后台接口,可以进行视频的迁移。这样的话,我们就可以都统一转向另外一个稳定的平台。
4.Xcode9的打印日志的问题
2017-11-30 22:32:39.998534+0800 WWCollection[5329:6598716] refreshPreferences: HangTracerEnabled: 0
2017-11-30 22:32:39.998673+0800 WWCollection[5329:6598716] refreshPreferences: HangTracerDuration: 500
2017-11-30 22:32:39.998699+0800 WWCollection[5329:6598716] refreshPreferences: ActivationLoggingEnabled: 0 ActivationLoggingTaskedOffByDA:0
清楚地记得当时从Xcode7转向用Xcode8的时候,也是在console有一堆的打印的日志,也是这个方法设置的相同的内容。
不大好的一个去除日志的办法:https://stackoverflow.com/questions/46392382/refreshpreferences-hangtracerenabled-hangtracerduration-messages-in-ios-11-x
这里之所以说不好,是因为如果按照上边的网址说的设置了之后,会影响到NSLog就无法输出了
如有错误 敬请指正
如需转载 请注明出处 谢谢