结尾
学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。
在 AndroidStudio
、Goland
等 JetBrains IDEA 一系的代码编辑器中,界面底部有一个 Terminal 选项卡。打开选项卡会创建一个 Terminal
,并自动切换到当前项目的根目录下,然后我们就可以在此快速的执行一些命令操作。如下图:
然而,用于 iOS 开发的 Xcode
中并没有该选项卡,这就很不方便了。接下来讲解如何手动为 Xcode 配置一个 Terminal
的快捷入口。
6.1 .sh绑定
步骤1:新建 xcode-terminal.sh
脚本文件
切换到任意目录,然后新建一个 xcode-terminal.sh
的脚本文件,并编辑其内容。
脚本内容如下:
#!/bin/sh
if [ -n "$XcodeProjectPath" ]; then
open -a Terminal "$XcodeProjectPath"/..
else
open -a Terminal "$XcodeWorkspacePath"/..
fi
另外,.sh
前面的文件名称可以自定义,但是下面步骤2中修改权限时,名称必须一致。
步骤2:修改文件执行权限
打开终端,并在其中执行如下命令:
chmod +x 路径名/.sh文件名
如: chmod +x xcode-terminal.sh
步骤3:脚本命令添加到 Xcode 中
依次打开 : Xcode menu > Behaviors > Edit Behaviors…
,
然后点击下图左下角的 + :
然后输入自定义的 Behavior 名称(对应上图中的 2),并指定一个快捷键(对应上图中的3)。
然后勾选上图右侧的 Run(对应上图中的4), 并双击 Run 右侧的下拉框(对应上图中的 5 ),指定该 Behavior 对应的脚本文件——也就是刚才创建的 xcode-terminal.sh。
至此,配置完成。在 Xcode 编辑器中,按下自定义的快捷键就可以调出终端了。
6.2 执行 pod install
脚本
脚本内容如下:
#!/bin/sh
# 改脚本用于Xcode 执行快捷键执行 pod install
path=""
if [ -n "$XcodeProjectPath" ]; then
path=$XcodeProjectPath
else
path=$XcodeWorkspacePath
fi
# 执行 AppleScript 打开 Terminal 进行 podinstall
osascript <<EOF
tell application "Terminal"
activate
do script with command "cd \"$path\"/..;pod install"
end tell
EOF
总结
任意需求都可以通过脚本实现,然后可以将其关联到 Xcode 的 behavious 中,并为其关联快捷键。
七、延伸阅读:Undefined symbol: _rebind_symbols || symbol(s) not found for architecture arm64
xcode 14
给出如下错误提示信息:
Undefined symbols for architecture arm64:
"\_rebind\_symbols", referenced from:
___32+[RCTReconnectingWebSocket load]_block_invoke in libReact-RCTWebSocket.a(RCTReconnectingWebSocket.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决方案:
- 清理
Xcode
缓存
rm -rf ~/Library/Developer/Xcode/DerivedData/
2)清理CocoaPods
缓存
切换到项目ios目录下,执行以下命令。
rm -rf "${HOME}/Library/Caches/CocoaPods"
rm -rf "`pwd`/Pods/"
pod update
若执行 pod update
命令报错,则执行以下命令:
cd ..
pod install --project-directory=ios
- 最后将
Build Active Architectures Only
设置为NO
。
八、延伸阅读: 2 duplicate symbols for architecture arm64
编译阶段,错误提示信息如下:
duplicate symbol '\_OBJC\_CLASS\_$_Orientation' in:
/Users/ccms-m-03/Library/Developer/Xcode/DerivedData/mrcs-erictiduzoziyxgpkngocqfejvjq/Build/Intermediates.noindex/mrcs.build/Debug-iphoneos/mrcs.build/Objects-normal/arm64/Orientation.o
/Users/ccms-m-03/Library/Developer/Xcode/DerivedData/mrcs-erictiduzoziyxgpkngocqfejvjq/Build/Products/Debug-iphoneos/react-native-orientation/libreact-native-orientation.a(Orientation.o)
duplicate symbol '\_OBJC\_METACLASS\_$_Orientation' in:
/Users/ccms-m-03/Library/Developer/Xcode/DerivedData/mrcs-erictiduzoziyxgpkngocqfejvjq/Build/Intermediates.noindex/mrcs.build/Debug-iphoneos/mrcs.build/Objects-normal/arm64/Orientation.o
/Users/ccms-m-03/Library/Developer/Xcode/DerivedData/mrcs-erictiduzoziyxgpkngocqfejvjq/Build/Products/Debug-iphoneos/react-native-orientation/libreact-native-orientation.a(Orientation.o)
ld: 2 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决方案:根据提示搜索重复文件Orientation。
若存在重复文件,则删掉一个。
此外,也可以通过以下步骤检查:
- 首先排查是否有名字重复的文件。(查看下自己的项目中创立的文件名和引入的第三方文件名是否重复)。
- 检查是否在
#import
头文件的时候,不小心把.h
写成了.m
(可以全局搜索是否是这个问题).
HTTP
-
HTTP 报文结构是怎样的?
-
HTTP有哪些请求方法?
-
GET 和 POST 有什么区别?
-
如何理解 URI?
-
如何理解 HTTP 状态码?
-
简要概括一下 HTTP 的特点?HTTP 有哪些缺点?
-
对 Accept 系列字段了解多少?
-
对于定长和不定长的数据,HTTP 是怎么传输的?
-
HTTP 如何处理大文件的传输?
-
HTTP 中如何处理表单数据的提交?
-
HTTP1.1 如何解决 HTTP 的队头阻塞问题?
-
对 Cookie 了解多少?
-
如何理解 HTTP 代理?
-
如何理解 HTTP 缓存及缓存代理?
-
为什么产生代理缓存?
-
源服务器的缓存控制
-
客户端的缓存控制
-
什么是跨域?浏览器如何拦截响应?如何解决?