xcode教程(xcode教程做一个app)

http://www.itjxue.com  2023-02-14 15:35  来源:未知  点击次数: 

如何在xcode中使用git

1、安装git,官网有安装教程;

2、在新建项目到时候会有如下选项

如果创建项目到时候,没有选择创建repository,需要以下步骤进行设置

1)进入到该项目到目录下

$ cd Matchismo

2)找到xcuserstate,并设置到忽略文件夹中

$ find . 找到隐藏文件xcuserstate,用来记录UI的情况,可以不使用git来提交

.

./.DS_Store

./Matchismo

./Matchismo/.DS_Store

./Matchismo/Base.lproj

./Matchismo/Base.lproj/Main.storyboard

./Matchismo/Card.h

./Matchismo/Card.m

./Matchismo/CardGameAppDelegate.h

./Matchismo/CardGameAppDelegate.m

./Matchismo/CardGameViewController.h

./Matchismo/CardGameViewController.m

./Matchismo/Deck.h

./Matchismo/Deck.m

./Matchismo/en.lproj

./Matchismo/en.lproj/InfoPlist.strings

./Matchismo/Images.xcassets

./Matchismo/Images.xcassets/AppIcon.appiconset

./Matchismo/Images.xcassets/AppIcon.appiconset/Contents.json

./Matchismo/Images.xcassets/cardBack.imageset

./Matchismo/Images.xcassets/cardBack.imageset/cardBack-1.png

./Matchismo/Images.xcassets/cardBack.imageset/cardBack.png

./Matchismo/Images.xcassets/cardBack.imageset/Contents.json

./Matchismo/Images.xcassets/cardFront.imageset

./Matchismo/Images.xcassets/cardFront.imageset/cardFront-1.png

./Matchismo/Images.xcassets/cardFront.imageset/cardFront.png

./Matchismo/Images.xcassets/cardFront.imageset/Contents.json

./Matchismo/Images.xcassets/Image.imageset

./Matchismo/Images.xcassets/Image.imageset/Contents.json

./Matchismo/Images.xcassets/LaunchImage.launchimage

./Matchismo/Images.xcassets/LaunchImage.launchimage/Contents.json

./Matchismo/main.m

./Matchismo/Matchismo-Info.plist

./Matchismo/Matchismo-Prefix.pch

./Matchismo/model

./Matchismo/model/CardMatchingGame.h

./Matchismo/model/CardMatchingGame.m

./Matchismo/PlayingCard.h

./Matchismo/PlayingCard.m

./Matchismo/PlayingCardDeck.h

./Matchismo/PlayingCardDeck.m

./Matchismo.xcodeproj

./Matchismo.xcodeproj/project.pbxproj

./Matchismo.xcodeproj/project.xcworkspace

./Matchismo.xcodeproj/project.xcworkspace/contents.xcworkspacedata

./Matchismo.xcodeproj/project.xcworkspace/xcuserdata

./Matchismo.xcodeproj/project.xcworkspace/xcuserdata/chris.xcuserdatad

./Matchismo.xcodeproj/project.xcworkspace/xcuserdata/chris.xcuserdatad/UserInterfaceState.xcuserstate

./Matchismo.xcodeproj/xcuserdata

./Matchismo.xcodeproj/xcuserdata/chris.xcuserdatad

./Matchismo.xcodeproj/xcuserdata/chris.xcuserdatad/xcdebugger

./Matchismo.xcodeproj/xcuserdata/chris.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

./Matchismo.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes

./Matchismo.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/Matchismo.xcscheme

./Matchismo.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/xcschememanagement.plist

./MatchismoTests

./MatchismoTests/en.lproj

./MatchismoTests/en.lproj/InfoPlist.strings

./MatchismoTests/MatchismoTests-Info.plist

./MatchismoTests/MatchismoTests.m

3)将文件导入到gitignore

bogon:Matchismo chris$ echo Matchismo.xcodeproj/project.xcworkspace/xcuserdata/chris.xcuserdatad/UserInterfaceState.xcuserstate .gitignore

bogon:Matchismo chris$ cat .gitignore

Matchismo.xcodeproj/project.xcworkspace/xcuserdata/chris.xcuserdatad/UserInterfaceState.xcuserstate

4)在项目文件目录下 执行指令:git init

bogon:Matchismo chris$ git init

Initialized empty Git repository in /Users/chris/developer/Matchismo/.git/

5)当前目录添加到git

bogon:Matchismo chris$ git add .

bogon:Matchismo chris$ git commit -m "Now under sorce control” 第一次提交的注释

[master (root-commit) 3eb6864] Now under sorce control

37 files changed, 1643 insertions(+)

create mode 100644 .gitignore

create mode 100644 Matchismo.xcodeproj/project.pbxproj

create mode 100644 Matchismo.xcodeproj/project.xcworkspace/contents.xcworkspacedata

create mode 100644 Matchismo.xcodeproj/xcuserdata/chris.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

create mode 100644 Matchismo.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/Matchismo.xcscheme

create mode 100644 Matchismo.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/xcschememanagement.plist

create mode 100644 Matchismo/Base.lproj/Main.storyboard

create mode 100644 Matchismo/Card.h

create mode 100644 Matchismo/Card.m

create mode 100644 Matchismo/CardGameAppDelegate.h

create mode 100644 Matchismo/CardGameAppDelegate.m

create mode 100644 Matchismo/CardGameViewController.h

create mode 100644 Matchismo/CardGameViewController.m

create mode 100644 Matchismo/Deck.h

create mode 100644 Matchismo/Deck.m

create mode 100644 Matchismo/Images.xcassets/AppIcon.appiconset/Contents.json

create mode 100644 Matchismo/Images.xcassets/Image.imageset/Contents.json

create mode 100644 Matchismo/Images.xcassets/LaunchImage.launchimage/Contents.json

create mode 100644 Matchismo/Images.xcassets/cardBack.imageset/Contents.json

create mode 100644 Matchismo/Images.xcassets/cardBack.imageset/cardBack-1.png

create mode 100644 Matchismo/Images.xcassets/cardBack.imageset/cardBack.png

create mode 100644 Matchismo/Images.xcassets/cardFront.imageset/Contents.json

create mode 100644 Matchismo/Images.xcassets/cardFront.imageset/cardFront-1.png

create mode 100644 Matchismo/Images.xcassets/cardFront.imageset/cardFront.png

create mode 100644 Matchismo/Matchismo-Info.plist

create mode 100644 Matchismo/Matchismo-Prefix.pch

create mode 100644 Matchismo/PlayingCard.h

create mode 100644 Matchismo/PlayingCard.m

create mode 100644 Matchismo/PlayingCardDeck.h

create mode 100644 Matchismo/PlayingCardDeck.m

create mode 100644 Matchismo/en.lproj/InfoPlist.strings

create mode 100644 Matchismo/main.m

create mode 100644 Matchismo/model/CardMatchingGame.h

create mode 100644 Matchismo/model/CardMatchingGame.m

create mode 100644 MatchismoTests/MatchismoTests-Info.plist

create mode 100644 MatchismoTests/MatchismoTests.m

create mode 100644 MatchismoTests/en.lproj/InfoPlist.strings

bogon:Matchismo chris$

Xcode 工程添加 “动态” Framework 的几种方式

如何在 Xcode 工程中添加动态库(Dynamic Library)。

首先我们知道,对于 “.a 静态库” 和 “静态 framework”,直接把相关文件拖拽到工程中,并勾选 Copy if needed 选项即可,无需其它额外的设置;

而对于添加“动态 framework”,稍微比较麻烦,主要有以下几种方式。

PS:我们这里说的“添加动态库”是指第三方动态库,而不是像 UIKit.framework、Foundation.framework 或者 libc++ 等系统自带的动态库,对于它们的依赖添加很简单,直接在 General - Linked Frameworks and Libraries 中点击加号搜索添加即可。

在 Xcode 工程中选中 app 对应的 target,然后在 General - Embedded Binaries 下点击加号,如图 1,在弹出的窗口选择 Add Other…,最后在 Finder 中选择你要添加的“动态 framework”,并勾选 Copy if needed 即可。需要注意的是,你不能直接在 Finder 中把 .framework 文件拖拽到 Embedded Binaries 中,否则会报错。

关于手动添加动态库的更多细节以及遇到问题的解决办法,可参考苹果官方的教程: 《Embedding Frameworks In An App》

但是!这种方式看似很方便,其实有个坑是:我们上一条小集提到,一般动态二进制文件都会包含很多处理器架构,例如:i386, x86_64, armv7, armv7s, arm64 等,然后 Xcode 在编译链接时,对动态二进制文件是直接拷贝到 .ipa 包中,并不会像链接静态库那样筛选掉未用到 architecture,而苹果又不允许把包含 i386, x86_64 等模拟器架构的包上传到 App Store Connect 后台,会报错。因此,我们在打 Release 正式包时往往需要手动通过 lipo 命令或者编写脚本移除掉这些 Invalid Architectures。(除非你的开发工程只通过真机来调试,不准备在模拟器里运行,且添加的动态库刚好又不包含 i386、x86_64)

对于通过 Carthage 集成的第三方库,在 Cartfile 文件中添加好依赖后,然后执行 carthage update 命令会帮我们生成一个个“动态 framework”,例如 AFNetworking.framework、SDWebImage.framework 等,然后把它们拖拽到工程中的 General - Linked Frameworks and Libraries ,然后在配置相关拷贝脚本和命令,详细可参考 Carthage 的 Quick Start 教程。

这里有个关键操作是,需要在 Xcode 工程的 Build Phases 中添加一个执行脚本(New Run Script Phase),并在脚本中执行如下命令:

如图 2 所示:

该命令的作用大概就是,在打包拷贝动态库时自动帮我们移除掉其中的 i386、x86_64。

同样地,通过 CocoaPods 集成动态库时,也会在工程中自动帮我们添加一个 Shell 脚本用于做这件事,如图 3 中的 [CP] Embed Pods Frameworks,

大家可以自行查阅该 Pods-xxx-frameworks.sh 脚本的内容,里面有个函数 strip_invalid_archs() 就是用于在打包时移除无用的处理器架构,如图 4:

因此,我们可以把自己开发的或者他人提供的动态 framework,通过 CocoaPods 来集成到工程中:创建一个 Pods 私有 git 库(相信大家已经很熟悉了),在 git 库中添加相关动态 .frameworks 文件,然后其 Podspec 文件的写法大致如图 5 所示,最后在你的工程中 pod install 即可。

最后我们思考一个问题:“静态 framework” 和 “动态 framework” 在使用上似乎也没什么不同,而工程添加 “动态 framework” 又比较繁琐,那么在 iOS/macOS 开发中什么情况下会使用动态库呢?

Xcode工程自动编译并导出ipa包的两种方式

1.xcodebuild方式

2.xcrun方式(此方式需要用到PackageApplication工具)

但是这个工具在XCode8.2.1(好像是这个版本)以后就没有了,所以,如果报找不到这个工具的错误,可以参照这位同学方法放回去: 获取设置PackageApplication工具

这两种方式都是建立在已经配置好xcode工程的基础上。我的xcode工程是自动配置的,如果有兴趣的可以私聊我发教程

1.清理xcode工程?

?2.login.keychain文件的权限修改?

?3.编译xcode工程?

?4.导出ipa游戏包

说明:

1.ExportOptions.plist文件如果找不到的话,可以手动导出一次,然后保存ExportOptions.plist文件到一个目录下,把ExportOptions.plist目录填进去再进行自动编译打包。也可以自己新建一个ExportOptions.plist文件,不过里面的参数要写好,我为了方便就自己手动编译并导出了ipa包,保存了ExportOptions.plist文件。

2.login.keychain文件的权限修改时要输入密码 把Password替换成自己的密码就行;自己用户的名字是本机的用户

3.其他的你们应该能看懂0.0.

这个方式貌似比前面的那种方式要简单,不过会报警告。

直接上图

xcrun的原理就是先进行xcodebuild,然后build出来的.app文件转化为.ipa文件

上面的App_Path是指你build后产生的.app文件的地址

第一次发,如果有用到xcode工程自动配置的,请私聊我

xcode怎么设置启动的ios模拟器的系统版本

iOS 开发者常常会使用模拟器来进行调试,当然这就少不了Mac电脑中的Xcode软件了,今天小编就给大家带来在Mac系统下如何快速启动iOS模拟器的使用教程:一、如何启动iOS模拟器1、在Launchpad程序中找到Xcode工具并启动2、随便选择一个工程或是新建一个工程都可以3、在左上角的调试中找到IOS 模拟器 ,选择iphone5s 或是6都可以,根据你当前xcode的版本来选择就好4、选择好之后选择启动调试6、模拟器就可以打开了二、设置快捷方式启动1、启动IOS模拟器后 在dock中就可以看到模拟器的图标了2、这时我们右键选择模拟器,在弹出的菜单中找到选项,在选项中找到“在dock中保留”这样模拟器就一直常驻才dock中了,以后直接选择就可以启动了。三、添加到所有程序1、还是要右键模拟器才弹出的菜单中找到“选项”,在选项中找到 在finder中显示2、这时会打开模拟器所在的目录,这个目录实际上是在xcode applications文件夹中3、复制这个模拟器到“应用程序”中4、下次在所有程序中就可以看到模拟器的图标了

mac 10.10.5怎么安装xcode

第一步:确认主板以及cpu支持虚拟化,并开启虚拟化。(可以通过百度确定自己的电脑硬件是否适合这条。开启虚拟化可以百度教程),cpu性能越高越好,最少是inteli系列同等水平的cpu。

第二步:确认内存条大小,是否适合安装。一般情况下内存最小需要4G(可以打开运行),8G(可以进行编程,微卡)16G(开发没问题,有时会卡)。具体和电脑其他硬件有关,建议有条件的搞一个固态硬盘换上,对于编程很有帮助。

第三步:安装好vm虚拟机。安装教程在下载问题中寻找。

第四部:确认vm安装好后,下载MAC OS虚拟机,点击“.VMX”文件即可!!

(责任编辑:IT教学网)

更多

推荐Oracle认证文章