Code Monkey home page Code Monkey logo

conventions-objc's Introduction

A convention for Objective-C libraries

The following convention defines a file system structure for a shared Objective-C library.

LibraryName/
  .clang-format                 <- Libraries are expected to use clang-format.
  .jazzy.yaml                   <- Libraries should support the Jazzy documentation generator.
  .travis.yml                   <- Libraries should support Travis CI.
                                
  CHANGELOG.md                  <- Release notes and history.
  README.md                     <- Essential installation and usage guide.
  LibraryName.podspec           <- The podspec for the library.
                                
  docs/                         <- In-depth technical documentation.
    TechnicalDoc1.md            <- Docs are written in Markdown.
    assets/                     <- All documentation assets live here.
      image.png                 <- Pngs, movs, gifs, etc...
                                
  examples/                     
    Example.swift               <- Examples can be Swift,
    Example.h                   <-                        or
    Example.m                   <-                           Objective-C.
    supplemental/               <- Non-educational code used by the examples.
      SomeView.swift            <- Supplemental code can be Swift
      SomeView.h                <-                                or
      SomeView.m                <-                                   Objective-C.
    apps/                       <- Example applications live in this sub-directory.
      ExampleApp/               <- Example application.
      AnotherApp/               <- Another example application.
    resources/                  <- Resources required by the examples.
                                
  src/                          <- All library source lives here.
    MaterialMotionLibraryName.h <- Umbrella header.
    MDMObject.h                 <- Library source must be written in Objective-C.
    MDMObject.m                 
    private/                    <- Private APIs live in a sub-directory
      MDMPrivateAPI.h           
      MDMPrivateAPI.m           
    MaterialMotionLibraryName.bundle/ <- All assets required by the source.
                                
  tests/                        
    interaction/                <- User interaction tests.
      SomeTest.swift            <- Tests can be Swift,
      AnotherTest.m             <-                     or Objective-C.
    unit/                       <- Unit tests.
      SomeTest.swift            <- Tests can be Swift,
      AnotherTest.m             <-                     or Objective-C.

Creating a new MDM library

Run the following commands to create a new Objective-C library:

mdm new repo <name>
cd $(mdm dir <name>)
yo mm-component

License

Licensed under the Apache 2.0 license. See LICENSE for details.

conventions-objc's People

Contributors

jverkoey avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.