Giter VIP home page Giter VIP logo

gbversiontracking's Introduction

GBVersionTracking Version License

Track which versions of your iOS or Mac OS X app a user has previously installed.

Usage

Call this on each app launch inside application:didFinishLaunching:withOptions: (iOS), or -applicationDidFinishLaunching: (OS X)

[GBVersionTracking track];

Then call these whenever you want (in these examples the user has launched a bunch of previous versions, and this is the first time he's launched the new version which is version 3.0):

[GBVersionTracking isFirstLaunchEver];				//Returns: NO
[GBVersionTracking isFirstLaunchForVersion];		//Returns: YES
[GBVersionTracking isFirstLaunchForBuild];			//Returns: YES
 
[GBVersionTracking currentVersion];					//Returns: @"3.0"
[GBVersionTracking previousVersion];				//Returns: @"2.1"
[GBVersionTracking firstInstalledVersion];			//Returns: @"1.0"
[GBVersionTracking versionHistory];					//Returns: [@"1.0", @"2.0", @"2.1", @"3.0"]
 
[GBVersionTracking currentBuild];					//Returns: @"3004"
[GBVersionTracking previousBuild];					//Returns: @"2107"
[GBVersionTracking firstInstalledBuild];			//Returns: @"1000"
[GBVersionTracking buildHistory];					//Returns: [@"1000", @"2043", @"2107", @"3004"]

N.B.: The build and version numbers are whatever you define in your app's Info.plist

Don't forget to import header:

#import <GBVersionTracking/GBVersionTracking.h>

Installation

Use CocoaPods, add this to your project's Podfile and run pod install:

pod 'GBVersionTracking'

Copyright & License

Copyright 2015 Luka Mirosevic

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Bitdeli Badge

gbversiontracking's People

Contributors

jsclayton avatar lmirosevic avatar tbaranes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

gbversiontracking's Issues

Cocoapods

Is it still available in Cocoapods? Doesn't show up in search results.

Symbol(s) not found for architecture x86_64

I have GBVersionTracking running successfully in an existing store app (Xcode 6.1.1). I'm trying to add it to a brand-new app, same Xcode version, and I received the following error:
gbversion xcode error.
I copy the GBVersionTracking folder directly into my project, I don't use cocoapods.

tvos support

Do you think to add support for this new platform? It should working without changing anything, but we have to use iCloud key-value storage

isFirstLaunchForBuild always YES

[GBVersionTracking isFirstLaunchForBuild] is always returning YES

I have setup [GBVersionTracking track]; in didFinishLaunchingWithOptions:

[CocoaPods] OSX compatibility

Hello,

This library is great for the iOS project, but it would be even greater if we can use it for OS X too since it shouldn't be a technical limit.
Can you update your pod to handle OS X support too ?

needsSync always YES?

In func + (void)track:

According to first if block, needsSync is NO only if it is first time launcher ever and the dictionary is nil. Then it creates an empty dictionary to the controller.

Then, in second if block, because the dictionary does not have any version stored yet, ([_controller.versionTrail[kVersionsKey] containsObject:[self currentVersion]]) will always be No so that needsSync is set to YES.

So it appears when reaching the ending block of the function needsSync is always NO so probably we'd remove this and store it every time.

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.