大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
iOS 开发,新电脑,新环境。用Xcode,git,但是不喜欢Xcode自带的source tree,又但是每次git pull 、push相关操作都得把项目文件拖进终端,这样就麻烦了很多。
创新互联建站长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为小店企业提供专业的成都做网站、成都网站建设、成都外贸网站建设,小店网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
所以记录了Xcode迅速打开终端(Terminal)
1.新建个.sh文件 ,执行一下脚本
#!/bin/sh
if [ -n "$XcodeProjectPath" ]; then
open -a Terminal "$XcodeProjectPath"/..
else
open -a Terminal "$XcodeWorkspacePath"/..
fi
2.打开 Xcode 的 Behavior 界面, 如下所示:
然后点击如上图的加号, 出现新建的 Behavior:
选择你刚刚新建的.sh文件,如果文件是灰色的,不可选择点击,打开终端,执行chmod 777 你的.sh文件
chmod +x your_script_name.sh 这玩意好像不起作用,大家注意下
然后添加 勾选run,前面设置个快捷键 command+T,就完成了
iOS脚本自动化打包方案--xcodebuild
本文主要xcodebuild脚本自动化打包并上传到蒲公英或者AppStore,废话不多说,直接上干货!
先了解一下xcodebuild打包需要的一些指令
-workspace XXX.xcworkspace
XXX.xcworkspace需要编译工程的工作空间名称,如果工程不是.xcworkspace的,可以不需要-workspace XXX.xcworkspace这段话
-scheme XXX
XXX是工程名称,-scheme XXX是指定构建工程的名称
-configuration Release
填入打包的方式是Debug或Release,就跟在Xcode中编译前需要在Edit scheme的Build configuration中选择打出来的包是Debug还是Release包一样,-configuration就是配置编译的Build configuration
-archivePath ./myArchivePath
配置生成.xcarchive的路径, ./表示生成在当前目录下,myArchivePath是生成的.Archive文件名称
ODE_SIGN_IDENTITY=证书
配置打包的指定证书,如果该工程的Xcode已经配置好了证书,那么不加入这段话也可以,打包出来的证书就是Xcode中配置好的。
PROVISIONING_PROFILE=描述文件UUID
配置打包的描述文件,同上,Xcode已经配置好了就不用在填入这段话了
CONFIGURATION_BUILD_DIR
配置编译文件的输出路径,如果需要用到.xcarchive文件内部的dSYM等文件,可以使用改字段指定输出路径。
如果工程是勾选了Automatically manage signing,那么就不用在配置ODE_SIGN_IDENTITY和PROVISIONING_PROFILE,今天这里讲到的Automatically manage signing自动配置证书,手动配置的就不多说了,有兴趣的话可以自己研究。
xcode工程配置自动获取证书,如下图:
打包所需要文件
配置打包的ExportOptions.plist文件,可以在任意一个Xcode工程中新建一个ExportOptions.plist文件。dev和adHoc和AppStore的配置文件内容不一样,可以先手动打包后看下plist文件的样式,这里提供一个样例:
这里method对应的value为打包对应的环境,有development、ad-hoc、app-store、enterprise根据打包环境来配置不同的值
编译脚本命令
xcodebuild archive -workspace XXX.xcworkspace -scheme XXX -configuration Release -archivePath ./myArchivePath CONFIGURATION_BUILD_DIR ./dir ODE_SIGN_IDENTITY=证书 PROVISIONING_PROFILE=描述文件UUID
导出ipa包命令
xcodebuild -exportArchive -archivePath ./myArchivePath.xcarchive -exportOptionsPlist ./ExportOptions.plist -exportPath ./out
-archivePath ./myArchivePath.xcarchive指定需要打包的.xcarchive路径,./myArchivePath.xcarchive表示在当前终端路径下的myArchivePath.xcarchive文件
-exportOptionsPlist ./ExportOptions.plist指定打包需要的ExportOptions.plist配置文件路径
-exportPath ./out指定打包输出的路径, ./out表示打包结果输出在终端的当前路径下的out文件家中。如果没有out文件夹会自动创建一个
脚本操作
首先:cd到需要自动打包的工程下
然后:在终端中输入touch xcodebuild.sh创建xcodebuild.sh脚本文件
然后:双击打开脚本写入下面 脚本内容(请确保所有版本的plist配置文件都写好了)
最后:在终端中输入./xcodebuild.sh运行脚本,按照步骤完成打包选择(如果运行的时候出现Permission denied,请先在终端中执行chmod a+x *.文件的后缀名后,在运行,相当于提高脚本文件的权限)
脚本内容
此脚本包含了自动上传蒲公英的选择操作,根据输入指令来执行具体操作
脚本实现
具体详细脚本见GitHub地址: 如果好用记得给star,谢谢!
如脚本打包执行遇到问题可留言沟通!
既然要承载 web 页面,一个原生的 WebView 必不可少。在 iOS 中,目前已经有两款高性能、功能齐全的 web 浏览器,UIWebView (=2.0)和 WKWebView(=7.0)。
当然,两种 web 浏览器选其一即可。网上有很多文章,包括我之前已经发表的博文中,都介绍过这两种浏览器,读者可以根据自己的需要选择。
就目前的情况看,UIWebView 发展了很多年,目前市面上大部分的 web 页面也都支持这样的浏览器,因此很多公司在选择的时候都使用这个,但是,我们知道,WKWebView 有太多改善前者的优点,而且也是苹果官方提倡大家使用的,为了性能,为了更多的特性,建议初次搭建的朋友采用 WKWebView。
为了实现 h5 与 native 之间的互相调用,我们需要在两者之间架一层桥来实现,关于 bridge,之前的文章也有介绍。
bridge 的功能包括:native 调用 h5,h5 回调 native,h5 调用 native,native 回调 h5。
有了 bridge,h5可以使用 native 支持的更多特性,native 可以获取 h5 页面加载的信息,也可以让 web 页面动态执行一些脚本做一些事。
总之,在 web 容器框架中,这个 bridge 还是很有必要的。
嗯,这个是辅助项,做了这一步可以进一步提高 web 容器的加载性能,而且资源缓存到本地后可以做到不依赖网络,提高用户体验。
通常有两种做法,
UIWebView 使用简单,而且现在用户的手机性能也已经不再是页面展示性能的瓶颈,所以,这里介绍的依然采用 UIWebView 作为 web 浏览器。
WebViewJavascriptBridge 是一款非常强大的第三方开源 bridge 库,同时支持 UIWebView 和 WKWebView。
git 地址
NJKWebViewProgress 是一款能使 UIWebview 显示加载进度的第三方开源框架,支持代理协议处理和 progressview 展示两种功能。
git 地址
1.在github官网( )注册一个账号;
2.登录账号,创建一个新的仓库,如下图
3.填写仓库名称,配置仓库相关信息
4.完成创建后,copy仓库地址备用
5.在本地创建一个文件夹作为git本地仓库文件夹,然后打开终端执行以下命令
cd 到git本地仓库文件夹中
git clone '上面copy的地址'
此时在git本地仓库文件夹中会看到一个README文件,然后将自己的工程根目录下的所有文件移到git本地仓库文件夹中,然后在终端执行以下命令
git add . //添加所有文件
git commit -m '添加了所有文件提交到本地仓库' //提交
git push -u origin master //推送到远程git仓库
此时去github网页查看自己提交的项目,大功告成!
如果在创建仓库时,未勾选.gitignore选项,则在使用git的过程中push时,改动的文件中会频繁出现UserInterfaceState.xcuserstate文件。原因就是未使用.gitignore文件(就是git软件要忽略的文件列表,如果要忽略某些文件,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。),如何创建呢?接下来用我的实际经验来给大家解决这个小问题咯????
cd到你的工程目录下,然后 touch .gitignore
vi .gitigonre
project.xcworkspace
xcuserdata
UserInterfaceState.xcuserstate
project.xcworkspace/
xcuserdata/
UserInterface.xcuserstate
4.保存退出
然后执行命令
git add .
git ommit -m '描述'
git push
成功后就不会出现UserInterfaceState.xcuserstate这种文件啦!
如果还是会出现,则用以下命令
1.git status
查看当前状态,会出现一个modifidy: UserInterfaceState.xcuserstate文件的路径,咱们copy这个路径;