All Projects → siggb → Gitversioningonxcode

siggb / Gitversioningonxcode

Pretty Xcode Git versioning for iOS & macOS applications

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Gitversioningonxcode

font-v
Font version string reporting and modification library + executable tool
Stars: ✭ 15 (+0%)
Mutual labels:  versioning, sha1
Xcbt
⌛️xcbt shows Xcode build time of a specified project.
Stars: ✭ 14 (-6.67%)
Mutual labels:  xcode
Apprepositorytemplate
The easiest way to start a new application project without any manual configuration
Stars: ✭ 24 (+60%)
Mutual labels:  xcode
Strangelog
Painless file-based changelog management via CLI.
Stars: ✭ 12 (-20%)
Mutual labels:  versioning
Xcodeeditor
An API for manipulating Xcode project files.
Stars: ✭ 851 (+5573.33%)
Mutual labels:  xcode
Gensum
Powerful checksum generator!
Stars: ✭ 12 (-20%)
Mutual labels:  sha1
Swipeabletabbarcontroller
UITabBarController with swipe interaction between its tabs.
Stars: ✭ 919 (+6026.67%)
Mutual labels:  xcode
Awesome Swiftui
A collaborative list of awesome articles, talks, books, videos and code examples about SwiftUI.
Stars: ✭ 878 (+5753.33%)
Mutual labels:  xcode
Jazzy
Both Swift and Objective-C projects are supported.
Stars: ✭ 7,078 (+47086.67%)
Mutual labels:  xcode
Versioning Spring Boot Starter
Spring boot starter using for versioning rest easily.
Stars: ✭ 11 (-26.67%)
Mutual labels:  versioning
Lift
Simple Android Application update logic component
Stars: ✭ 10 (-33.33%)
Mutual labels:  versioning
Fapanels
FAPanels - Swift
Stars: ✭ 850 (+5566.67%)
Mutual labels:  xcode
Swiftui Grid
🚀 SwiftUI Grid layout with custom styles
Stars: ✭ 872 (+5713.33%)
Mutual labels:  xcode
Refreshversions
Life is too short to google for dependencies and versions
Stars: ✭ 841 (+5506.67%)
Mutual labels:  versioning
Swiftinfo
📊 Extract and analyze the evolution of an iOS app's code.
Stars: ✭ 880 (+5766.67%)
Mutual labels:  xcode
Qmui ios codesnippets
用于Xcode使用的iOS通用代码片段,其中也包含若干专用于QMUI iOS框架的代码片段。
Stars: ✭ 922 (+6046.67%)
Mutual labels:  xcode
Agalertviewwithprogressbar
Stars: ✭ 9 (-40%)
Mutual labels:  xcode
Drl Theme Manager
Xcode File Template to generate theme manager for Swift 3+
Stars: ✭ 12 (-20%)
Mutual labels:  xcode
Refresher
DEPRECATED: Pull to refresh in Swift
Stars: ✭ 885 (+5800%)
Mutual labels:  xcode
Xcode Starter Pack
My personal default xcconfig files and whatnot for a new project
Stars: ✭ 15 (+0%)
Mutual labels:  xcode

Pretty Xcode Git versioning for iOS & macOS applications

Platform Stackoverflow

iOS Git versioning example

A few simple steps to make versioning more understandable

Features

  • Every version string consists of 2 parts: Bundle Version String (from Info.plist file) and Git commit SHA1 (you always can find this commit in the repository timeline).

  • You can display your unique app version on the splash screen or on the about screen.

  • When you sending yet another build to your customers or testers, you're not afraid to get lost in application versions. Every bug or wish will be binded with the version code.

  • Your AppStore users can send feedbacks from the special form and every message will be signed with the unique version code.

How does it work?

This shell script runs every time you building your application. As the result - value of the macros GIT_SHA_VERSION (from GitVersion.h) updates with the SHA1-code of the last branch commit.

Installation Guide

  1. Open Build Phases in Xcode

  2. Press Add Build Phase

  3. Press Add Run Script Build Phase. You can find this in the top menu Editor. Drag script-line to the position after Target Dependencies.

  4. Set Shell line to /bin/sh

  5. Set contents of the gitversionning.sh (without first #-lines) to the script field. Don't forget to change Sources to your path-to-file, where GitVersion.h should be. For example: Adding new Build Phase

  6. Import GitVersion.h file into Xcode project

  7. Paste these lines:

#import "GitVersion.h"

NSDictionary *info = [[NSBundle mainBundle] infoDictionary];
NSString *version = [info objectForKey:@"CFBundleShortVersionString"];
NSString *app_version = [NSString stringWithFormat:@"%@.%@", version, GIT_SHA_VERSION];

NSLog(@"app_version : %@", app_version);

License

GitVersioningOnXCode is available under the MIT license.

Copyright © 2013 Ildar Sibagatov.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].