iOS-项目创建基本操作

120 阅读1分钟

本地环境

  • macOS Monterey 12.2.1
  • Xcode Version 13.2.1 (13C100)

创建项目

  • Use Core Data:是否使用数据库

截屏2022-03-09 16.11.13.png

  • 项目结构
.

├── iOSOCDemo

│   ├── AppDelegate.h

│   ├── AppDelegate.m

│   ├── Assets.xcassets

│   │   ├── AccentColor.colorset

│   │   │   └── Contents.json

│   │   ├── AppIcon.appiconset

│   │   │   └── Contents.json

│   │   └── Contents.json

│   ├── Base.lproj

│   │   ├── LaunchScreen.storyboard

│   │   └── Main.storyboard

│   ├── Info.plist

│   ├── SceneDelegate.h

│   ├── SceneDelegate.m

│   ├── ViewController.h

│   ├── ViewController.m

│   └── main.m

├── iOSOCDemo.xcodeproj

│   ├── project.pbxproj

│   ├── project.xcworkspace

│   │   ├── contents.xcworkspacedata

│   │   ├── xcshareddata

│   │   │   └── IDEWorkspaceChecks.plist

│   │   └── xcuserdata

│   │       └── baipao.xcuserdatad

│   │           └── UserInterfaceState.xcuserstate

│   └── xcuserdata

│       └── baipao.xcuserdatad

│           └── xcschemes

│               └── xcschememanagement.plist

├── iOSOCDemoTests

│   └── iOSOCDemoTests.m

└── iOSOCDemoUITests

    ├── iOSOCDemoUITests.m

    └── iOSOCDemoUITestsLaunchTests.m

使用CoCoaPods管理

初始化 pod

进入项目

pod init

初始化 pod 时,会根据 projectName.xcodeproj 在根目录创建一个 Podfile 文件。

查看Podfile

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'iOSOCDemo' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for iOSOCDemo

  target 'iOSOCDemoTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'iOSOCDemoUITests' do
    # Pods for testing
  end

end


命令pod install

会生成一些文件如下:


├── Podfile

├── Podfile.lock

├── Pods

│   ├── Headers

│   ├── Local Podspecs

│   ├── Manifest.lock

│   ├── Pods.xcodeproj

│   │   ├── project.pbxproj

│   │   └── xcuserdata

│   │       └── baipao.xcuserdatad

│   │           └── xcschemes

│   │               ├── Pods-iOSOCDemo-iOSOCDemoUITests.xcscheme

│   │               ├── Pods-iOSOCDemo.xcscheme

│   │               ├── Pods-iOSOCDemoTests.xcscheme

│   │               └── xcschememanagement.plist

│   └── Target Support Files

│       ├── Pods-iOSOCDemo

│       │   ├── Pods-iOSOCDemo-Info.plist

│       │   ├── Pods-iOSOCDemo-acknowledgements.markdown

│       │   ├── Pods-iOSOCDemo-acknowledgements.plist

│       │   ├── Pods-iOSOCDemo-dummy.m

│       │   ├── Pods-iOSOCDemo-umbrella.h

│       │   ├── Pods-iOSOCDemo.debug.xcconfig

│       │   ├── Pods-iOSOCDemo.modulemap

│       │   └── Pods-iOSOCDemo.release.xcconfig

│       ├── Pods-iOSOCDemo-iOSOCDemoUITests

│       │   ├── Pods-iOSOCDemo-iOSOCDemoUITests-Info.plist

│       │   ├── Pods-iOSOCDemo-iOSOCDemoUITests-acknowledgements.markdown

│       │   ├── Pods-iOSOCDemo-iOSOCDemoUITests-acknowledgements.plist

│       │   ├── Pods-iOSOCDemo-iOSOCDemoUITests-dummy.m

│       │   ├── Pods-iOSOCDemo-iOSOCDemoUITests-umbrella.h

│       │   ├── Pods-iOSOCDemo-iOSOCDemoUITests.debug.xcconfig

│       │   ├── Pods-iOSOCDemo-iOSOCDemoUITests.modulemap

│       │   └── Pods-iOSOCDemo-iOSOCDemoUITests.release.xcconfig

│       └── Pods-iOSOCDemoTests

│           ├── Pods-iOSOCDemoTests-Info.plist

│           ├── Pods-iOSOCDemoTests-acknowledgements.markdown

│           ├── Pods-iOSOCDemoTests-acknowledgements.plist

│           ├── Pods-iOSOCDemoTests-dummy.m

│           ├── Pods-iOSOCDemoTests-umbrella.h

│           ├── Pods-iOSOCDemoTests.debug.xcconfig

│           ├── Pods-iOSOCDemoTests.modulemap

│           └── Pods-iOSOCDemoTests.release.xcconfig

├── iOSOCDemo

│   ├── AppDelegate.h

│   ├── AppDelegate.m

│   ├── Assets.xcassets

│   │   ├── AccentColor.colorset

│   │   │   └── Contents.json

│   │   ├── AppIcon.appiconset

│   │   │   └── Contents.json

│   │   └── Contents.json

│   ├── Base.lproj

│   │   ├── LaunchScreen.storyboard

│   │   └── Main.storyboard

│   ├── Info.plist

│   ├── SceneDelegate.h

│   ├── SceneDelegate.m

│   ├── ViewController.h

│   ├── ViewController.m

│   └── main.m

├── iOSOCDemo.xcodeproj

│   ├── project.pbxproj

│   ├── project.xcworkspace

│   │   ├── contents.xcworkspacedata

│   │   ├── xcshareddata

│   │   │   └── IDEWorkspaceChecks.plist

│   │   └── xcuserdata

│   │       └── baipao.xcuserdatad

│   │           └── UserInterfaceState.xcuserstate

│   └── xcuserdata

│       └── baipao.xcuserdatad

│           └── xcschemes

│               └── xcschememanagement.plist

├── iOSOCDemo.xcworkspace

│   └── contents.xcworkspacedata

├── iOSOCDemoTests

│   └── iOSOCDemoTests.m

└── iOSOCDemoUITests

    ├── iOSOCDemoUITests.m

    └── iOSOCDemoUITestsLaunchTests.m

Podfile引入第三方库

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'iOSOCDemo' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for iOSOCDemo
  pod 'Masonry'

  target 'iOSOCDemoTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'iOSOCDemoUITests' do
    # Pods for testing
  end

end

不使用storyboard

两种方式创建纯代码的iOS项目,不使用storyboard