XCode10和iOS12使用过程中遇到的问题:
1.libc++和libstdc++
项目用到了c++,依赖了libstdc++.6.0.9.tbd,导致整个工程编译不通过,原因是苹果在XCode10和iOS12中移除了libstdc++这个库,由libc++这个库取而代之,苹果的解释是libstdc++已经标记为废弃有5年了,建议大家使用经过了llvm优化过并且全面支持C++11的libc++库。
接下来更新这个库就好了,TARGETS—>Build Phases—>Link Binary With Libraries()
stdc++.6.0.9
直接删除,然后添加libc++解决。
更多详情查看Xcode10和iOS12适配
链接:https://www.jianshu.com/p/96cc59f42f92
2.Xcode 10默认使用的构建系统是新的构建系统,与Xcode9不同导致。
第一种方法不修改构建系统分析
构建错误日志,错误发生在Copy Pods Resources,而且与output有关,应该是使用了cocoapods导致的,尝试删除该项目target-Copy Pods Resources-Output Files,成功解决问题。
第二种方法修改构建系统
在Xcode菜单栏 - >文件 - >工作区设置,将构建系统修改为遗留构建系统,然后干后编译。
链接:https://www.jianshu.com/p/8a8444acdca5
追根到低,新构建系统与旧构建系统的区别?
1.Xcode 10 的新构建系统对于包之间依赖以及名称冲突的检测更加严格了,避免循环依赖。
详细解释参考:https://www.sohu.com/a/258526559_487516
3.libMobileGestalt MobileGestalt.c:550: MGIsDeviceOneOfType is not supported on this platform.
解决方法编辑Scheme-> Run - > Arguments,在Environment Variables里边添加
OS_ACTIVITY_MODE =禁用
屏蔽这些打印。
错误参考:https://www.jianshu.com/p/e01e2512c12b
4.could not read data from '/Users/xxxx/xxxx/Info.plist': The file “Info.plist” couldn’t be opened
对工程中的文件夹以及文件移动了位置。我把Info.plist文件放到其他路径下边了。所以导致Xcode找不到Info.plist文件。
1. 把Info.plist文件放回原处,也就是工程根目录下边,这个解决办法比较简单,我就不再图文说明了。下边着重说第二种。
2. 修改工程默认的Info.plist文件路径位置。首先第一步找到写Info.plist文件路径的位置,因为Info.plist属于工程文件,所以要去工程的Build Settiings下边寻找。
很容易在第一页Packaging下边有一个Info.plist File选项,后边有一个路径,如图所示:
$(SRCROOT)/+项目名+移动到的文件夹/Info.plist
$(SRCROOT)/CellTest/Supporting Files(支持文件)/Info.plist
详细参考:
https://blog.csdn.net/crazyzhang1990/article/details/53141303
参考:https://www.jianshu.com/p/b44f61c45817
目录
1. 真机测试
2. 上传ipa错误
3. AppStore被拒
4. 其它
网友评论