怎么打开ios项目

2018-08-29 12:39:29 baidu_37366055 阅读数 2064

一、Cocoa Pods简介

 

Cocoa Pods是一个负责管理iOS项目中第三方资源的工具,它的项目源代码在Github上面管理,得益于活跃的Github开发者社区大神们的不断维护,从2011年8月该项目启动以来,它保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。

在我们有了CocoaPods这个工具之后,只需要将用到的第三方开源库放到一个名为Podfile的文件中,然后在命令行执行$pod install命令,CocoaPods就会自动将这些第三方资源库的源代码下载下来,并且为当前的工程设置好响应的系统依赖和编译参数。

二、Cocoa Pods的安装

 

(1)安装

安装的方式非常简单,Mac下已经再带了ruby,只要使用ruby的gem命令就可以安装了。打开Mac终端工具,在终端运行下面的命令,


 
  1. [sudo] gem install cocoapods

  2. pod setup

说明,上面的[sudo]可以省略,这两个步骤都是进行网络请求的过程,所以需要一定的等待时间。

(2)更新

如果我们修改了Podfile文件,那么就需要更新CocoaPods,使用下面的ruby的gem命令来更新,

[sudo] gem update cocoapods

(3)查找第三方库

可以使用pod search + lib_name来搜索第三方库,查看版本,如下命令所示,

sudo pod search sdwebImage

说明:SDWebimage是一个用于图片缓存的开源库,是对UIImageView类的扩展。

三、Cocoa Pods的使用

现在我在Desktop/develop文件夹下面新建了一个项目,参考CocoaChina中的一个教程,就是一个完整的天气App,项目名称为SimpleWeather,那么接下来这样操作使用Cocoa Pods,

(1)进入项目SimpleWeather.project所在的文件夹,在终端输入以下命令,

cd Desktop/develop/SimpleWeather

(2)在该目录中,通过Vim新建Podfile

vim Podfile

(3)通过i(insert模式),插入如下的语句,


 
  1. platform :ios, '7.0' 

  2.   

  3. pod 'Mantle' 

  4. pod 'LBBlurredImage' 

  5. pod 'TSMessages' 

  6. pod 'ReactiveCocoa'

这样就指定了第三方资源的iOS版本、开源库主要包括:Mantle、LBBlurredImage、TSMessages、ReactiveCocoa,这些都不重要,这里只是示范而已。

输入完成以后退出vim并保存,先Esc然后输入:wq,表示写入并退出。

(4)在终端输入$pod install,

pod install

初始化pod也是一个网络请求下载的过程,稍等一段时间,如果输入的资源名称没有问题,那么过一段时间就会在终端得到初始化成功的提示。

四、通过WorkSpace来进行项目代码的编写

进入项目文件夹,可以看见一个后缀名未.workspace的文件,双击打开。从现在开始我们通过来SimpleWeather.xcworkspace管理项目、编写代码,而不是之前的SimpleWeather.xproj,打开workspace文件,Xcode项目的文件结构如下图所示,

第一个箭头所指的就是SimpleWeather项目;第二个箭头就是Pods帮我们生成的项目,它来管理需要的资源库;第三个箭头指向的就是Podfile里面指定的第三方开源库。

还有需要注意的是每当我们修改了Podfile这个文件之后,一定要在项目所在文件夹执行$pod install命令,还可以执行$pod update来更新类库。

 

总结:

这里是我在开发过程中简单总结的,有很多没有考虑到的细节,我会根据自己遇到的问题再不断地更新这个博客。在上家公司工作的时候就遇到一些CocoaPods更新时候需要最高权限的问题,我尽量在后面重现,帮助遇到该问题的朋友解决这个问题。

 

 

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods

可以用来方便的统一管理这些第三方库。

一、安装 

由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下: 

注:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby环境    

1、Ruby环境搭建 

当前安装环境为Mac mini 10.10.3 Mac  OS 本身自带Ruby,但还是更新一下保险,因为我第一次安装在没有更新Ruby的情况下就失败了。  

 

1-1 查看下当前ruby版本:打开终端输入 ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby)

1-2 更新ruby

终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得)

1、gem sources --remove https://rubygems.org/ (该地址被墙了)
2、gem sources -a https://ruby.taobao.org/ 
3、gem sources -l  (用来检查使用替换镜像位置成功)

最新操作细则参照:RubyGems 镜像 - 淘宝网

 

2、下载安装CocoaPods  

终端输入:sudo gem install cocoapods 

 显示如上信息表示已经安装成功

 

PS: 升级10.11后,运行pod命令出现:

-bash: pod: command not found

解决办法:

sudo gem install -n /usr/local/bin cocoapods

之后pod命令可以使用了。


如果pod update / pod install 卡在:

Updating local specs repositories

等待即可,或者

可以使用 "pod install --verbose --no-repo-update" 进行下载,原因可能x被墙。

 (CocoaPods其他相关问题处理操作方法

3、使用CocoaPods

 3-1  新建一个项目,名字PodTest

3-2 在终端中,cd到项目总目录(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录)

例如: cd /Users/KingKong/Desktop/PodTest

3-3 建立Podfile(配置文件)

输入 touch Podfile

接着上一步,终端输入 vim Podfile 

键盘输入 i,进入编辑模式,输入

platform :ios, '7.0' 
pod 'MBProgressHUD', '~> 0.8' 

然后按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入wq

注意:键盘输入 :后,才能输入wq。回车后发现PodTest项目总目录中多一个Podfile文件

激动人心的时刻到了:确定终端cd到项目总目录,然后输入 pod install,等待一会,大约3分钟。

查看项目根目录:

注意:现在打开项目不是点击 PodTest.xodeproj了,而是点击 PodTest.xcworkspace

 

对于工程发生的变化,有几点需要说明:

a、第三方库会以成静态库方式引入工程使用

CocoaPods会将所有的第三方库以target的方式组成一个名为Pods的工程,该工程就放在刚才新生成的Pods目录下。整个第三方库工程会生成

一个名称为libPods.a的静态库提供给工程使用。

b、xcworkspace(PodTest.xcworkspace)的作用是管理工程和第三方库

PodTest工程和Pods工程被以workspace的形式组织和管理。 

打开项目后看到项目结构并且测试一下:

运行结果:

4、补充:  

1、CocoaPods的基本安装及使用都详细的说明了,但还有一些补充,当需要同时导入多个第三方时候怎么办 ?

这就需要修改Podfile了,就是用vim编辑的那个保存在项目根目录中的文件,修改完了Podfile文件,需要重新执行一次pod install命令。

例如: 

platform :ios

pod 'JSONKit',       '~> 1.4'

pod 'AFNetworking',  '~> 2.0' 

2、CocoaPods可以查找你想要的第三方库

终端输入命令:pod search UI

疯了!我怎么查找这么大众的关键字,好多库~~

然后重新编辑Podfile文件,按照之前的步骤,把更多的库都导入项目!

3、上文中“建立Podfile(配置文件)接着上一步,终端输入 vim Podfile”步骤,如果不习惯使用vim编辑器,也可以使用linux命令touch,

      生成一个空的Podfile文件,然后使用其他的文本编辑器都可以,例如:  

1     KingKong-Pro:~ kingkong$ cd /Users/KingKong/Desktop/TestProject   
2     KingKong-Pro:TestProject kingkong$ touch Podfile  

 

编辑好Podfile文件后,就可以执行pod install第三方导入了(详见:补充第1条),CocoaPods就开始为我们做下载源码、配置依赖关系、

引入需要的framework等一些列工作。

4、如果已经生成了CocoaPods管理的工程,则可以在Xcode中编辑Podfile,编辑保存后,别忘记cd到根目录,调用pod install命令

 

5、项目存在多个Target的时候,需要配置Podfile文件来支持新增加的Target,否则只支持项目默认建立时生成的Target:

a、如果新建一个Target,命名为Second,并且Second与Test两个Target所需要的第三方支持相同,也就是使用相同的Pods依赖库,则可以使用

link_with关键字:

1 link_with 'Test', 'Second'  
2 platform :ios  
3 platform :ios, ‘9.0’    
4 pod 'AFNetworking', '~> 2.0' 

b、如果不同的Target需要不同的依赖库,则可以

复制代码

 1     platform :ios  
 2     target :'Test' do  
 3     pod 'Reachability'  
 4     pod 'SBJson'     
 5     pod 'AFNetworking'   
 6     end    
 7         
 8     target :'Second' do  
 9     pod 'OpenUDID'   
10     end   

复制代码

6、出现/Library/Ruby/Gems/2.0.0/gems/claide-0.8.1/lib/claide/command.rb:417:in `help!': [!] You cannot run CocoaPods as root. (CLAide::Help)

重新打开一个终端,然后pod install,不要sudo pod install。

7、如果$ pod install时候遇到:

Analyzing dependencies  
Fetching podspec for `UAAppReviewManager` from `..`  
[!] Unable to satisfy the following requirements:  
- `UAAppReviewManager (from `..`)` required by `Podfile`   

8、如果要移除Cocoapods,则可以:  

a. 删除工程文件夹下的Podfile、Podfile.lock及Pods文件夹

b. 删除xcworkspace文件

c. 使用xcodeproj文件打开工程,删除Frameworks组下的Pods.xcconfig及libPods.a引用

d. 在工程设置中的Build Phases下删除Check Pods Manifest.lock及Copy Pods Resources

ps:如果将cocoapods集成到工程中后不小心修改或删除了其相关文件导致无法便以通过例如:不小心把

Pods.xcconfig给删除了然后出现diff: /../Podfile.lock: No such file or directory,用上面的方法删除cocoapods后,

再重新$sudo pod install一下就好了。

如果编译的时候出现权限问题,对工程文件夹$sudo chmod 777 path-to-project-folder/*

$sudo chown 777 path-to-project-folder/* 

9、当库正常导入,但还是找不到相关头文件,则可以:

在TARGETS -> Search Paths -> User Header Search Paths 中 写入 ${SRCROOT}再将后面参数改为recursive:

  

10、Xcode - ld: library not found for -lPods

当新增加一个Target,并且pod install后,由于创建项目是默认创建的Target的Build Phases中引用了旧的.a,例如libPods.a,当新增加Targget后,

libPods.a已经变成了libPods-Test.a,而新增加的Target名字为Second,依赖的.a为libPods-Second.a。所以libPods.a此时已经不再被引用,并且不会被生成,

如果任何地方引用了就会报错,解决办法是出现问题的Target的Build Phases中删除无用的.a引用,例如libPods.a

 

11、pod update  

若果Podfile中指定的依赖库版本不是写死的,当对应的依赖库有了更新,无论有没有Podfile.lock文件都会去获取Podfile文件描述的允许获取到的最新依赖库版本。 

12、在引用第三方,如果想明确第三方版本号的时候,还有一些小细节:

 

1     pod 'AFNetworking'      //不显式指定依赖库版本,表示每次都获取最新版本  
2     pod 'AFNetworking', '2.0'     //只使用2.0版本    
3     pod 'AFNetworking', '> 2.0'     //使用高于2.0的版本    
4     pod 'AFNetworking', '>= 2.0'     //使用大于或等于2.0的版本    
5     pod 'AFNetworking', '< 2.0'     //使用小于2.0的版本    
6     pod 'AFNetworking', '<= 2.0'     //使用小于或等于2.0的版本    
7     pod 'AFNetworking', '~> 0.1.2'     //使用大于等于0.1.2但小于0.2的版本    
8     pod 'AFNetworking', '~>0.1'     //使用大于等于0.1但小于1.0的版本    
9     pod 'AFNetworking', '~>0'     //使用最新版本,与不显示指定依赖库版本相同  

 

 唐巧大神这里有更多内容,其中介绍了pod制作及Podfile.lock的相关内容《用CocoaPods做iOS程序的依赖管理》 

13、彻底 删除/卸载CocoaPods所有引用的方法 

 1)查询当前安装的cocoapod 的相关信息 gem list 如图

 2)删除所有的引用项

  1、sudo gem uninstall cocoapods -v 1.0.0
  2、sudo gem uninstall cocoapods-core -v 1.0.0
  3、sudo gem uninstall cocoapods-stats -v 1.0.0
  4、sudo gem uninstall cocoapods-search -v 1.0.0
  5、sudo gem uninstall cocoapods-plugins -v 1.0.0
  6、sudo gem uninstall cocoapods-deintegrate -v 1.0.0
  7、sudo gem uninstall cocoapods-downloader -v 1.0.1 
  8、sudo gem uninstall cocoapods-trunk -v 1.0.0
  9、sudo gem uninstall cocoapods-try -v 1.0.0

  注:-v 1.0.0 版本号对应我们第一步中查询到的版本号。

3)删除.cocoapods目录,在终端输入以下命令: 

   1、cd ~/.cocoapods/ 

  2、sudo -rm -rf ~/.cocoapods/

14、安装指定的cocoapod版本到 local 目录

 sudo gem install -n /usr/local/bin cocoapods -v 1.0.0  

15、

  1. RPC failed; curl 56 SSLRead() return

  2. error -36

 问题处理 先说解决方案:
1.访问 https://github.com/CocoaPods/Specs,然后将Specs项目fork到自己的github账户上
2. 下载GitHub Desktop, 然后clone Specs项目。
3. 将clone的Specs项目的文件夹改名为master,然后拖到/Users/用户名/.cocoapods/repos目录下。
4. 运行pod setup 

PS:pod setup的本质就是将https://github.com/CocoaPods/Specs上的Specs项目clone到/Users/用户名/.cocoapods/repos目录下。若此目录下已有Specs项目,则会将项目更新到最新的状态。由于Specs很大,容易导致pod setup失败。这时就需要我们手动安装Specs。若直接从github上下载zip文件,由于缺少git文件,会导致cocoa pods不使用。若用git clone,由于文件过大,容易导致失败。但是使用GitHub Desktop软件,则会提高clone的成功率,并且会给出clone的进度。

 


如果您觉得阅读完本文对您有帮助,请点一下“推荐”按钮,您的推荐将是我写作的最大动力;本文版权归作者和博客园共有,来源网址:http://www.cnblogs.com/ChinaKingKong/欢迎各位转载,但未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接否则保留追究法律责任的权利。

 

 

///////////////////////////////////////////////////////////////////////////////////////////

1.首先我们要打开我们的终端:

2.在终端输入 这条命令  gem sources -l

 

2.1如果是和我是一样的显示,则镜像已添加,无需更改,如果不一样,则需要进行更改

这里输出的如果是 https://rubygems.org/ 镜像的话,

我们要删除这个镜像,然后添加镜像:https://ruby.taobao.org/ 具体操作命令如下:

<1> 删除原始镜像:gem sources --remove https://rubygems.org/

<2> 添加新的镜像:gem sources -a https://ruby.taobao.org/

<3> 查看是否更改成功:再次输入以下命令: 如2中图所示,那么我们镜像更改成功了

 

3.接下来我们要进行安装 cocoapods 的重要步骤了。。。

输入:sudo gem install -n /usr/local/bin cocoapods

大概10几分钟,就会安装成功了,成功后的样子

3.1 查看是否安装成功  输入: pod search AFNetworking

如果出现下图所示,表示安装成功。

 

 

 

 

4. 接下来我们来使用cocoapods

  4.1 首先我们先创建项目,如果创建完之后,如果知道路径的直接cd 到你的项目中去,不知道的直接 在 Finder里,找到 项目文件夹,直接拖进 终端运行 

(cd —> 项目文件根目录)

 4.2 上面就是我的项目的的根目录(切记一定要到项目的根目录),然后在这里我们要创建Podfile,

命令如下:touch Podfile

如下图所示: 我们创建Podfile 成功

 

4.3 接下来我们就要操作Podfile 文件了,说到这里有二种方法来写我们的Podfile文件

第一种使用vim

第二种直接打开Podfile 来写入我们需要的东西 (然后在进行其他操作即可)

4.3.1 先说第一种 vim 操作

使用之前我们比如我们要加入 AFNetworking 这个第三方库,我们执行一下命令:pod search AFNetworking 

 命令:pod search AFNetworking  显而易见是进行搜索AFNetworking 这个第三方网络请求的库

所有如果想要添加那个库的话,我们可以直接在终端打印 pod search ***库文件名 ,然后会显示出,这个库的所有版本,下图是我打印的的AFNetworking的所有版本,我画红色线条的哪里就是我们要写入到我们Podflie文件里面的内容

 

4.3.1.1  我们来使用Vim 编辑器,终端打印  vim Podfile  如下图所示:

里面写入的参数:platform  : iOS,'7.0'  (注:这个参数表示为最低支持的系统版本)

第二个参数就是我们上一步执行搜索出来的内容,复制到这里就Ok了

(注:如图所示,我们加入了我们需要的东西,写入完成了,然后我们要保存退出,这里要怎么退出来vim呢?,写入完成后,我们点击左上角的esc按钮,然后输入冒号(:英文的冒号),然后输入wq,(wq 的意思是保存退出的意思),然后回车) 如图所示:

然后在终端中在输入 pod install   , cocoapods 即安装成功,进行使用

4.3.1.2 这里我们介绍第二种方法,直接在我们的项目中使用Podfile 文件来写入上面的内容(注:这种方法简单粗暴,建议大家使用这种方法) 如图所示:

 

打开我们的项目的文件夹 ,然后双击打开Podflie文件,在里面写入上面的两行:如图所示

(我是添加了二个第三方的库)写入完成,保存commond + s退出,我们回到终端


 

回到终端,接下来我们的操作就是一样了,我们要在我们的项目中导入AFNetworking 这个第三方库

接下来的两个命令是我们经常使用的

Note:

【 pod install: 使用 :pod install --verbose --no-repo-update 】

【 pod update: 使用: pod update --verbose --no-repo-update】

 

4.4 接下来我们在终端输入命令: pod install --verbose --no-repo-update

 如果看到下面的字样,表示我们导入第三方库成功:(如图所示:)

这里告诉我们再次打开项目,要用  单选和多选按钮.xcworkspae打开

 5 接下来们打开我们的项目,你会发现,多出来了一些东西,如图所示:

所以我们再次打开项目的时候要打开 后缀为 xcworkspace 的项目 

 

 

6 根据上面的目录可以看到,我们加入AFNetworking 的库已经成功添加进来了,到这里基本算是完成了

7 如果我们不想要这个第三方库,该怎么删除呢??

 

 假如我现在不想添加这个AFNetworking 这个库了,我想把它从我们的项目中移除,怎么办:

 

 

我们可以直接删除    pod 'AFNetworking', '~> 3.0.4'    这句话

接下来我们回到终端,输入命令:pod update --verbose --no-repo-update(注 :更新命令)

然后我们再看我们的Podfile文件,里面已经没有了AFN的库 

cocoapods基本就这样,下载第三方库进行管理,删除第三方库更新

 

cocoapods常用的命令整理:

pod install --verbose --no-repo-update  插入第三方库

pod update --verbose --no-repo-update 更新第三方库

pod  install 更新所有第三方库 

记得我们每次都要先更新在插入 ^@^ Big_Xin

2018-09-27 16:20:47 Loving_iOS 阅读数 2194

近期升级Xcode10后,运行原来的项目会出现各种报错,大致分为下面两种,附带解决方案。

一、Multiple commands produce 错误

方案:进入Xcode->File-> Workspace Setting... ->Build System->Legacy Build System ->Done

 

二、libstdc++ 库报错(Xcode 10 取消了内置支持的 libstdc++ 库)

方案:可以直接使用libc++ 这个库来替换,或者麻烦一点从Xcode 9 那边拷贝一个libstdc++.6.tbd 和 libstdc++.6.0.9.tbd到xcode10中。

1、真机路径   

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/

模拟器路径 

 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/

2、将真机和模拟器libstdc++.6.0.9.tbd  libstdc++.6.tbd  libstdc++.tbd文件复制到上面相应的路径。

如果真机生效,模拟器未生效,依旧报错,进行下面操作:

找到路径

/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/

将真机文件复制到此目录。

附件:模拟器文件真机文件

 

2018-09-19 05:08:28 weixin_34111790 阅读数 872

概述

这个问题经常看到有同学在问,那么我们今天分享下怎么在flutter项目中设置ios的启动画面。

在ios中设置启动画面有两种方法,一种是采用StoryBoard设置,一种是直接采用图片设置,下面来看下两种方案。

  • 打开工程文件

clipboard.png

打开ios项目下的XXX.xcworkspace文件

  • 选择项目设置

clipboard.png

针对App Icons and Launch Images 设置,这里在默认情况下是使用了StoryBoard, StoryBoard是ios中的ui可视化设计,在项目文件夹中可以找到

clipboard.png

点击打开

clipboard.png

注意左边的菜单,在下面的操作中一定要选择LaunchImage

  • 在项目中新增启动图片

clipboard.png

这里直接将图片拖动到项目根目录下,注意必须是根目录,不能是其他文件夹,否则图片出不来。

clipboard.png

选择Copy Items if needed

这个时候,我们加入的资源已经可以选择了

clipboard.png

选择之后的效果如下:

clipboard.png

这里的效果我们调整一下。先把这个图片剪切掉,然后粘贴一下,这样,中间的十字线就没有了。(实际上是清除了本图片的约束),
约束是ios界面编辑很重要的一个特性,类似于前端的css或者java的布局,这里稍微给不熟悉ios的同学解释下。

clipboard.png

编辑图片的约束,让它变成全屏幕:

点击屏幕右下角的约束编辑器
clipboard.png

clipboard.png

上面4个箭头的地方全部变成0,在点击下面的"Add 4 Constraints'

clipboard.png
属性这里的Content Mode改成Scal to Fill。

clipboard.png

这样就好看多了,运行一下:

!
clipboard.png

2016-07-08 16:06:23 sinat_29789455 阅读数 12108

可能很多大牛都见过FaceBook的three20框架的源码,但是不知道大家有没有对它里面的工程之间的相互引用,相互调用产生过一些兴趣和疑问,如下图:

 

由于目前公司正在做一个类似three20的app框架,我的两位ios大牛使出自己的各种绝技、大招,现在终于做出了一个初期的版本,我因为经验略显骨干,所以没怎么瞎掺和,但就耳濡目染也学到了很多东西,我就把自己学到这个关于项目之前联调,以及在项目中编辑新的framework的东西,总结并分享给大家。

 

我还是以问题的方式来解答吧,顺序是时间顺序

 

一,如何将两个项目整合到一个项目下(图1)
       可能你试过直接在一个项目里面直接把另一个项目拖进来,也试过add File..这些东西,但是最终可能还是没能完成,那么,到底要怎么做呢?

 

       首先,在进入到你当前项目的路径下,把需要添加的工程/framework手动拷贝到这个目录。
       第二步,在Xcode上面打开当前项目,在侧边栏点击最左下角的“+”按钮,选择Add Files to “”命令,弹出框,选择要加进来的工程/framework的工程文件添加,如图2

 

 

完成!这时,已经能够看到要添加的东西已经在我们的项目目录下了(图1)。

 

添加完成之后,我们试着改动一下新加入的项目的内容,比如把它代码改出点问题,比如下图

 

 


 

本来正常情况下,第12行会报错,可是现在没有,说明新加入的项目还没有和当前项目产生关联。

 

二,如何让新加入的项目和当然项目产生关联呢?
       如图4打开当前项目的Build Phases,再打开该界面下的Link Binary With Libraries,把新添加的项目的Products文件夹下的“.a”或者”.app”文件拖到Link Binary With Libraries当中,然后编译。

 

这时,之前我们在图3所示位置添加的非法的代码就会报错了,这时,就说明我们新加入的项目已经和当前项目产生了关联。


当我们和新加入的项目产生了关联之后,我们可能想去调用或者使用里面的累或者方法,首先我们把新加入项目的一个头文件“TestFrameworks.h”引入当前项目的AppDelegate当中,这时我们又看到了报错!编译器说他没有发现这个头文件在哪里!?


 

可是我们不是已经产生关联了吗?原来,还不仅仅如此,我们还需要添加引入头文件的路径(path);

 

三,如何让当前项目在引用加入项目的头文件是不报错?
       我们需要这样做:
       打开当前项目的Build Settings,修改它的Header Seach Path ,如图7

 

Header Seach Path 里面的路径应该为新加入项目的Products文件夹下,“.a”或者“.app”文件的路径下的,include文件夹里面的文件夹的路径下,如图8


 

添加完成后,再编译,发现之前的报错已经默默的消失了。
到这里,我要说的东西已经完成了90%,所以,我还有一些东西要说。

 

往往,在我们完成上面这些步骤之后,我们可能还会在新加入的项目中添加新的文件,来实现一些新的功能,或者结构上的更改,这时我们还会碰到之前的错我,提示我们,有一些文件找不到,无法引入,而这些文件,都是我们刚刚添加的。
       Header Link Path都已经修改到相应路径下,为什么还会有这样的错误呢?这给原因我也不能解释,但是我知道怎么去解决。

  选择编译新加入的项目(真机模式),如图10:

 

在新加入项目的Build Phases下,打开Copy Files 点击相应的左下角的“+”号,在弹出框里面输入“.h”,这时就会看到所有未加入到include文件的头文件,然后选择添加。如图11

这样新加入的文件的头文件也就正常引入到项目了,我们在新加入的类TestFramework设置断点,然后运行,发现确实已经被引用,如同12

转自:http://www.th7.cn/Program/IOS/201504/433337.shtml

2019-10-30 10:48:49 Iversons 阅读数 962

前言:由于最近开始学习IOS的开发,IOS开发最好用的IDE非Xcode莫属,但是当一个小白刚开始学习的时候,百度了一下午却发现教程中的Xcode的版本都过于落后,导致老师讲的我不能完全对应,就很烦,所以决定自己写一个博客记录下爬坑之路

1、下载并安装最新版Xcode<在AppStroe中下载>

2、打开Xcode新建项目

3、项目新建完成

4、运行项目<快捷键:command+R>

或点击:


END