IgniteEngine 0.1.1

IgniteEngine 0.1.1

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最后发布2015年5月

Brandon ShelleyRobert WalshJeremy AnticouniRobert Walsh维护。



 
依赖
ActionSheetPicker-3.0~> 1.6
AFNetworking~> 2.5
AFNetworkActivityLogger~> 2.0
AFOAuth2Manager~> 2.2
ALMoviePlayerController~> 0.3
ApigeeiOSSDK~> 2.0
APParallaxHeader-Width~> 0.1
CocoaLumberjack~> 2.0
Color-Picker-for-iOS~> 2.0
ColorUtils~> 1.1
IQKeyboardManager~> 3.2
JAFontAwesome~> 4.3
jetfire~> 0.1
MMDrawerController~> 0.6
Reachability~> 3.2
SDWebImage~> 3.7
SVPulsingAnnotationView~> 0.3
SVWebViewController~> 1.0
TTTAttributedLabel~> 1.13
YLMoment~> 0.5
ZBarSDK~> 1.3
ZipArchive~> 1.4
 

  • 作者
  • Robert Walsh、Brandon Shelley和Jeremy Anticouni

简介

什么是Ignite Engine?

Ignite Engine是一个使用声明性JSON来构建视图、控制器和逻辑来快速构建原生移动应用的平台。引擎的稳定性和健壮性让您能够专注于应用的功能和设计。

支持哪些平台?

您今天就可以开始为iOS构建应用;我们正在努力不久将平台扩展到Android。

先决条件

  • 运行Mavericks(v10.9+)或Yosemite(v10.10+)的Mac。
  • Xcode(v6.2+)。
  • 如果您想在iOS设备上运行您的应用,您需要一个iOS开发者账户。
  • Ignite Engine使用CocoaPods来管理其依赖项。在开始之前,在Terminal中运行$ sudo gem install cocoapods以安装CocoaPods CLI。

安装(60秒以内*)

这是学习Ignite Engine的最佳方式:它不需要胡乱设置新的Xcode项目。

  1. 下载Ignite Engine入门套件

  2. 解压缩下载的文件夹,并将其移动到您能记住的地方(例如~/Development)。

  3. 打开Terminal并运行$ cd到新文件夹(例如$ cd ~/Development/IgniteEngineStarterKit)。

  4. 运行$ pod install以自动下载和安装所有依赖项。

  5. 打开IgniteEngineStarterKit.xcworkspace文件,并在iOS模拟器中运行应用。

  6. 通过阅读文档来提高您的水平。

如果您有超级酷的互联网连接。否则可能需要几分钟时间 ;)

安装(困难模式™)

如果您想学习如何从头开始构建自己的项目并集成Ignite引擎,那么以下步骤就是为您准备的!

  1. 打开Xcode 6。

  2. 创建一个新的单视图应用程序。

  3. 删除Main.storyboard(选中它,右键单击,然后选择“移动到废纸篓”)。

  4. 打开Supporting Files/Info.plist

    • 删除名为Main storyboard file base name的属性。

    • 添加一个名为IXApp的新属性,其值为app.json(如有必要,请修改此属性的值)。

    • 添加一个名为IXAssets的新属性,其值为assets(如有必要,请修改此属性的值)。

  5. 删除ViewController.hViewController.m

  6. 在项目文件夹根目录下创建一个名为podfile的空文件,并包含以下文本

    pod 'IgniteEngine'
    

    (如果您喜欢冒险并且知道自己在做什么,您还可以直接将此pod指向GitHub仓库)。

  7. 打开终端,从您的项目目录运行$ pod install

  8. 一旦安装了IgniteEngine pod及其所有依赖项,从Xcode项目文件夹根目录打开{MyProject}.xcworkspace。是的,那就是.xcworkspace。将无法使用.xcodeproj文件。

  9. 打开main.m

    • 在顶部添加#import IXAppDelegate.h
    • 将所有对AppDelegate类的引用更改为IXAppDelegate
  10. 打开AppDelegate.h

    • 在顶部添加#import IXAppDelegate.h
    • @interface声明替换为:@interface AppDelegate : IXAppDelegate
    • 删除@property (strong, nonatomic) UIWindow *window;
  11. 打开AppDelegate.m

    • 在AppDelegate.m中取消全部方法注释。如果您需要重写一个方法,您必须在您的函数中先调用[super *methodname*]
  12. 在项目根目录下创建一个新的名为assets的文件夹。将此文件夹拖到Xcode中,取消选中 如果需要则复制项目选中 创建文件夹引用

  13. 您的IX配置将驻留在该assets文件夹中。至少,您需要一个以类似方式指向单个视图的app.json文件

    {
        "$app": {
            "attributes": {
                "view.index": "myView.json"
            }
        }
    }
    
  14. 通过阅读文档来提高您的水平。

技巧

  • 如果您正在创建一个存储在/assets的git仓库,请将Pods/**添加到您的.gitignore中,以避免将动态依赖项提交到您的仓库。

贡献

我们并不是没有把Ignite引擎开源!深入了解,深入实践,提交一个pull request。

  1. 将此仓库克隆到某个合理的位置,如~/Development/IgniteEngine-iOS

  2. 复制/Example项目文件夹并放到合理的地点,如~/Development/MyIgniteDevProject(或者根据上述步骤创建一个新的文件夹)。

  3. 编辑/MyIgniteDevProject中的podfile以使用本地:path声明

    pod 'IgniteEngine', :path => '~/Development/IgniteEngine-iOS'
    
  4. 从您的新/MyigniteDevProject文件夹中打开{MyApp}.xcworkspace

  5. 从项目导航器中,展开Pods项目,然后展开Development Pods > IgniteEngine

  6. 在这里,您可以找到所需的所有内容以开始开发。因为此文件夹是您项目克隆的符号链接,您在Development Pods文件夹中的更改将自动更新您的git仓库。

  7. 我们使用的是‘fork-and-pull’方法,因此请在您个人fork上的分支上提交您的更改,并提交一个pull request。

依赖项

Ignite引擎使用了以下CocoaPods

  • ActionSheetPicker
  • AFNetworking 2.0
  • AFNetworkActivityLogger
  • AFOAuth2Manager
  • ALMoviePlayerController
  • ApigeeiOSSDK
  • APParallaxHeader-Width
  • CocoaLumberjack
  • Color-Picker-for-iOS
  • ColorUtils
  • JAFontAwesome
  • IQKeyboardManager
  • jetfire
  • MMDrawerController
  • RaptureXML
  • Reachability
  • SDWebImage
  • SVPulsingAnnotationView
  • SVWebViewController
  • TTTAttributedLabel
  • YLMoment
  • ZBarSDK
  • ZipArchive

注意:这些依赖项可能还适用附加许可

许可协议

麻省理工学院版权许可协议(MIT)

版权所有 (c) 2015 Apigee Corporation

特此许可,任何人可在无费用的情况下获得本软件及其相关文档(以下简称“软件”的副本),并可以不受限制地使用、复制、修改、合并、发布、分发、再授权和/或出售软件副本,以及允许向提供软件的人进行此类操作,但必须遵守以下条件:

以上版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

软件按“现状”提供,不提供任何形式的明示或暗示保证,包括但不限于对适销性、特定用途的适用性和非侵犯性的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论这些责任是出于合同、侵权或其他原因,无论这些责任是由软件引起的、由软件的使用或任何此类操作引起的。