9、今日头条在xcode 9.4+ios11+Swift 4.1下编译运行

2024-02-22 00:08

本文主要是介绍9、今日头条在xcode 9.4+ios11+Swift 4.1下编译运行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、从git仓库下载今日头条的源代码:https://github.com/hrscy/TodayNews

2、下载好之后解压,会出现一个目录结构,如下图所示:


3、打开News就是需要测xcode工程。

4、在打开工程之前首先要通过pod下载依赖的第三方库,pod的安装方法请看:https://blog.csdn.net/sunxiaoju/article/details/80862846

5、在进入此目录后有一个Podfile文件,此文件已经包含了所使用的第三方依赖库,如下图所示:


6、打开终端并进入到此目录中,如下图所示:


7、在终端使用open -a Xcode Podfile命令是通过Xcode打开Podfile文件,并将ios版本号10.0更改为11.0,如下两幅图:



8、保存后再终端执行pod install命令后会出现

[!] Could not automatically select an Xcode project. Specify one in your Podfile like so:

    project 'path/to/Project.xcodeproj'

错误,如下图所示:


9、在次打开Podfile文件,然后在target 'News' do的下一行加入:project 'News'即可,其中News是当前工程的名称,如下图所示:


10、保存之后再次执行pod install命令即可将进入安装状态,安装过程是漫长的,如下图所示:


11、最后下载并安装好了,大概等了3个小时左右,如下图所示:


13、然后使用Xcode打开New.xcworkspace注意不是打开News.xcodeproj,否则编译会出现没有模块的问题,如下图所示:


14、然后打开后进行编译时出现错误,如下图所示:


15、点击错误,然后定位到出错的文件,提示:SGPageContentView Use of undeclared type 'SGPageContentView',如下图所示:


16、出现此错误说明包SGPagingView不存在该类,经过查找SGPagingView开源包,从1.4.2版本开始已经去掉该类换为了SGPageContentCollectionView.h


17、因此可查看版本1.4.1版本是SGPageContentView.h


18、因此需要更改Podfile包中的版本号,需要在SGPagingView后加入'<=1.4.1'说明是下载小于或等于1.4.1的版本,而在Podfile的版本设置说明如下:'> 0.1'  表示 0.1以上,'>= 0.1' 表示 0.1以上,包括0.1,'< 0.1'  表示 0.1以下,'<= 0.1' 表示 0.1以下,包括0.1,最后更改如下图所示:


19、设置好之后再终端执行pod update,如下图所示:


20、说明已经下载好1.4.1版本,然后在重新打开工程进行编译即可通过,如下图所示:




21、接着就可以阅读源代码进行学习了。






这篇关于9、今日头条在xcode 9.4+ios11+Swift 4.1下编译运行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/733526

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Java终止正在运行的线程的三种方法

《Java终止正在运行的线程的三种方法》停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作,停止一个线程可以用Thread.stop()方法,但最好不要用它,本文给大家介绍了... 目录前言1. 停止不了的线程2. 判断线程是否停止状态3. 能停止的线程–异常法4. 在沉睡中停止5

在VSCode中本地运行DeepSeek的流程步骤

《在VSCode中本地运行DeepSeek的流程步骤》本文详细介绍了如何在本地VSCode中安装和配置Ollama和CodeGPT,以使用DeepSeek进行AI编码辅助,无需依赖云服务,需要的朋友可... 目录步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT安装Ollama下载Olla

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

解决Spring运行时报错:Consider defining a bean of type ‘xxx.xxx.xxx.Xxx‘ in your configuration

《解决Spring运行时报错:Considerdefiningabeanoftype‘xxx.xxx.xxx.Xxx‘inyourconfiguration》该文章主要讲述了在使用S... 目录问题分析解决方案总结问题Description:Parameter 0 of constructor in x