xcode工程相关

[UIWebView ](https://developer.apple.com/documentation/uikit/uiwebview#declaration) iOS8 and later use WKWebView class instead of using UIWebView Additionally, consider setting WKPreferences property javaScriptEnabled [iOS提审流程](https://www.tapd.cn/21767111/documents/show/1121767111001000205?file_type=word) ## 贴纸自动打包 ![屏幕快照 20200929 上午9.26.58.png](https://cos.easydoc.net/86351604/files/kfna68xf.png) [Add file to XCode Copy Bundle Resources Phase via Script]( https://forum.unity.com/threads/add-file-to-xcode-copy-bundle-resources-phase-via-script.913187/) [xcode相关参数](https://www.rubydoc.info/gems/xcodeproj/Xcodeproj/Constants) [Add Xcode UI tests using PBXProject class](https://forum.unity.com/threads/add-xcode-ui-tests-using-pbxproject-class.720149/) [agens-no/iMessageStickerUnity](https://github.com/agens-no/iMessageStickerUnity) Demo ### 1、直接导出(勾选Automatic Signing) ![屏幕快照 20200927 上午8.13.57.png](https://cos.easydoc.net/86351604/files/kfkcp5dl.png) ![屏幕快照 20200927 上午8.15.18.png](https://cos.easydoc.net/86351604/files/kfkcqdez.png) 解决方法 ![屏幕快照 20200927 上午8.18.54.png](https://cos.easydoc.net/86351604/files/kfkcv5dj.png) ![屏幕快照 20200927 上午8.50.55.png](https://cos.easydoc.net/86351604/files/kfkf7ufb.png) ### 2、修改Name ![屏幕快照 20200927 上午8.57.19.png](https://cos.easydoc.net/86351604/files/kfkf85p9.png) ![屏幕快照 20200927 上午8.57.51.png](https://cos.easydoc.net/86351604/files/kfkf8hh9.png) ![屏幕快照 20200927 上午8.58.10.png](https://cos.easydoc.net/86351604/files/kfkf8lxu.png) ![屏幕快照 20200927 上午9.26.17.png](https://cos.easydoc.net/86351604/files/kfkf9u5o.png) ### 3、修改PBXSourceTree 为Source ![屏幕快照 20200927 上午9.48.20.png](https://cos.easydoc.net/86351604/files/kfkg2kp2.png) ![屏幕快照 20200927 上午9.47.43.png](https://cos.easydoc.net/86351604/files/kfkg27ev.png) ![屏幕快照 20200927 上午9.47.33.png](https://cos.easydoc.net/86351604/files/kfkg2em3.png) ### 4、加入XUporter ![屏幕快照 20200929 上午8.31.41.png](https://cos.easydoc.net/86351604/files/kfn8b0b6.png) ![屏幕快照 20200929 上午8.34.35.png](https://cos.easydoc.net/86351604/files/kfn8b9hc) 发现即使什么mod都不解析,也找不到appex文件。 ![屏幕快照 20200929 上午8.36.11.png](https://cos.easydoc.net/86351604/files/kfn8d9pc.png) 发现project.Save(pathToBuiltProject);的时候删除了project.pbxproj: 思考: a) 查看project.pbxproj的内容 ![屏幕快照 20200929 上午8.40.38.png](https://cos.easydoc.net/86351604/files/kfn8jmwl.png) 主要的配置信息存储在objects中,且有逃跑吧!少年.appex相关的配置信息。 ![屏幕快照 20200929 上午8.39.02.png](https://cos.easydoc.net/86351604/files/kfn8gnlc.png) Consolidate()执行时有保存project信息。 ![屏幕快照 20200929 上午8.46.01.png](https://cos.easydoc.net/86351604/files/kfn8q6pd.png) project信息在XCProject创建的时候有读取? b) 猜想是后续的操作将project.pbxproj中某些逃跑吧!少年.appex相关的引用覆盖了。 c) 调换执行顺序,在project.Save(pathToBuiltProject)后添加贴纸相关 ![屏幕快照 20200929 上午8.51.41.png](https://cos.easydoc.net/86351604/files/kfn8xbir.png) 发生报错 ![屏幕快照 20200929 上午9.02.08.png](https://cos.easydoc.net/86351604/files/kfn9b39u.png) ![屏幕快照 20200929 上午8.54.02.png](https://cos.easydoc.net/86351604/files/kfn9076k.png) ![屏幕快照 20200929 上午9.04.28.png](https://cos.easydoc.net/86351604/files/kfn9dn3l.png) 发现发生报错的地方时ReadFromString解析project.pbxproj的文件的时候,比较两种执行顺序所产生的project.pbxproj: ![屏幕快照 20200929 上午9.07.33.png](https://cos.easydoc.net/86351604/files/kfn9hokk.png) 发现第一行注释后面与大括号之间的差别。 PS:其实这里有一个表现,不删除旧的xcode工程也会有这个报错,一开始没有注意。 ![屏幕快照 20200929 上午8.52.58.png](https://cos.easydoc.net/86351604/files/kfn8ylun.png) d) 可猜想XUPorter在写入project.pbxproj时格式产生问题,导致之后读取解析时异常。 回到project.Save(pathToBuiltProject);中 ![屏幕快照 20200929 上午9.13.29.png](https://cos.easydoc.net/86351604/files/kfn9owa0.png) ![屏幕快照 20200929 上午9.16.07.png](https://cos.easydoc.net/86351604/files/kfn9sikc.png) ![屏幕快照 20200929 上午9.17.09.png](https://cos.easydoc.net/86351604/files/kfn9toc4.png) 发现是PBX_HEADER_TOKEN值的问题 ![屏幕快照 20200929 上午9.17.45.png](https://cos.easydoc.net/86351604/files/kfn9v0dm.png) ![屏幕快照 20200929 上午9.20.34.png](https://cos.easydoc.net/86351604/files/kfn9y1ko.png) DONE! PS:xcode工程在启动时会生成build及内的文件。