Skip to content

Commit

Permalink
Updated to version 1.9
Browse files Browse the repository at this point in the history
  • Loading branch information
nicklockwood committed Mar 19, 2012
1 parent b5b21d4 commit 51fa27b
Show file tree
Hide file tree
Showing 15 changed files with 110 additions and 45 deletions.
Expand Up @@ -160,7 +160,7 @@
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0420;
LastUpgradeCheck = 0430;
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "iVersionAdvanced" */;
compatibilityVersion = "Xcode 3.2";
Expand Down
4 changes: 3 additions & 1 deletion Examples/Advanced Demo/iVersionMacAppDelegate.m
Expand Up @@ -32,7 +32,9 @@ + (void)initialize
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
//set myself as iVersion delegate
//you can't do this in initialize method
//you don't actually need to set this if you
//are using the AppDelegate as your iVersion delegate
//as that is the default iVersion delegate anyway
[iVersion sharedInstance].delegate = self;
}

Expand Down
6 changes: 5 additions & 1 deletion Examples/iPhone Demo/iVersion.xcodeproj/project.pbxproj
Expand Up @@ -7,6 +7,7 @@
objects = {

/* Begin PBXBuildFile section */
01E880F0151652CD00BFF881 /* iVersion.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 01E880EF151652CD00BFF881 /* iVersion.bundle */; };
1D3623260D0F684500981E51 /* iVersionAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* iVersionAppDelegate.m */; };
1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
Expand All @@ -20,6 +21,7 @@
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
01E880EF151652CD00BFF881 /* iVersion.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = iVersion.bundle; sourceTree = "<group>"; };
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
1D3623240D0F684500981E51 /* iVersionAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iVersionAppDelegate.h; sourceTree = "<group>"; };
1D3623250D0F684500981E51 /* iVersionAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iVersionAppDelegate.m; sourceTree = "<group>"; };
Expand Down Expand Up @@ -117,6 +119,7 @@
B205F1FB1462A6BF00B69B0D /* iVersion */ = {
isa = PBXGroup;
children = (
01E880EF151652CD00BFF881 /* iVersion.bundle */,
B205F1FC1462A6BF00B69B0D /* iVersion.h */,
B205F1FD1462A6BF00B69B0D /* iVersion.m */,
);
Expand Down Expand Up @@ -150,7 +153,7 @@
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0420;
LastUpgradeCheck = 0430;
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "iVersion" */;
compatibilityVersion = "Xcode 3.2";
Expand Down Expand Up @@ -179,6 +182,7 @@
28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */,
2899E5220DE3E06400AC0155 /* iVersionViewController.xib in Resources */,
B22F022812F02A1E00C7AA1E /* versions.plist in Resources */,
01E880F0151652CD00BFF881 /* iVersion.bundle in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down
2 changes: 2 additions & 0 deletions Examples/iPhone Demo/versions.plist
Expand Up @@ -17,5 +17,7 @@
<string>FIX: Some important bug fix</string>
<string>CHANGE: Some significant change</string>
</array>
<key>minVersion</key>
<string>1.2</string>
</dict>
</plist>
2 changes: 1 addition & 1 deletion LICENCE.md
@@ -1,6 +1,6 @@
iVersion

Version 1.8, February 24th, 2012
Version 1.9, March 18th, 2012

Copyright (C) 2011 Charcoal Design

Expand Down
18 changes: 13 additions & 5 deletions README.md
Expand Up @@ -15,7 +15,7 @@ iVersion has an additional function, which is to tell users about important new
Supported OS & SDK Versions
-----------------------------

* Supported build target - iOS 5.0 / Mac OS 10.7 (Xcode 4.2, Apple LLVM compiler 3.0)
* Supported build target - iOS 5.0 / Mac OS 10.7 (Xcode 4.3.1, Apple LLVM compiler 3.1)
* Earliest supported deployment target - iOS 4.3 / Mac OS 10.6
* Earliest compatible deployment target - iOS 3.0 / Mac OS 10.6

Expand All @@ -28,14 +28,20 @@ ARC Compatibility
iVersion makes use of the ARC Helper library to automatically work with both ARC and non-ARC projects through conditional compilation. There is no need to exclude iVersion files from the ARC validation process, or to convert iVersion using the ARC conversion tool.


Thread Safety
--------------

iVersion uses threading internally to avoid blocking the UI, but none of the iVersion external interfaces are thread safe and you should not call any methods or set any properties on iVersion except from the main thread.


Installation
--------------

To install iVersion into your app, drag the iVersion.h and .m files into your project.

As of version 1.8, iVersion typically requires no configuration at all and will simply run automatically, using the Application's bundle ID to look it up on the App Store.

**Note:** If you have apps with matching bundle IDs on both the Mac and iOS app stores (even if they use different capitalisation), the lookup mechanism won't work, so you'll need to set the application app store ID, which is a numeric ID that can be found in iTunes Connect after you set up an app.
**Note:** If you have apps with matching bundle IDs on both the Mac and iOS app stores (even if they use different capitalisation), the lookup mechanism won't work, so you'll need to set the appStoreID property, which is a numeric ID that can be found in iTunes Connect after you set up an app.

Additionally, you can specify an optional remotely hosted Plist file that will be used for the release notes instead of the ones on iTunes. This has 3 key advantages:

Expand Down Expand Up @@ -125,7 +131,7 @@ This is the name of the app displayed in the alert. It is set automatically from

@property (nonatomic, copy) NSString *applicationVersion;

The current version number of the app. This is set automatically from the CFBundleShortVersionString (if available) or CFBundleVersion string in the info.plist and it's probably not a good ideas to change it unless you know what you are doing. In some cases your bundle version may not match the publicly known "display" version of your app, in which case use the display version here. Note that the version numbers on iTunes and in the remote versions Plist will be compared to this value, not the one in the info.plist.
The current version number of the app. This is set automatically from the CFBundleShortVersionString (if available) or CFBundleVersion string in the info.plist and it's probably not a good idea to change it unless you know what you are doing. Note that the version numbers on iTunes and in the remote versions Plist will be compared to this value, not the one in the info.plist.

@property (nonatomic, copy) NSString *applicationBundleID;

Expand Down Expand Up @@ -215,7 +221,7 @@ Flag that indicates if the local version details have been viewed (YES) or not (

@property (nonatomic, assign) id<iVersionDelegate> delegate;

An object you have supplied that implements the iVersionDelegate protocol, documented below. Use this to detect and/or override iVersion's default behaviour.
An object you have supplied that implements the iVersionDelegate protocol, documented below. Use this to detect and/or override iVersion's default behaviour. This defaults to the App Delegate, so if you are using your App Delegate as your iVersion delegate, you don't need to set this property.


Advanced methods
Expand Down Expand Up @@ -327,4 +333,6 @@ Advanced Example

The advanced example demonstrates how you might implement a completely bespoke iVersion interface. Automatic version checking is disabled and instead the user can trigger a check by pressing the "Check for new version" button.

When pressed, the app display a progress wheel and then prints the result in a console underneath the button.
When pressed, the app display a progress wheel and then prints the result in a console underneath the button.

The example is for Mac OS, but the same thing can be applied on iOS.
5 changes: 5 additions & 0 deletions RELEASE NOTES.md
@@ -1,3 +1,8 @@
Version 1.9

- Included localisation for French, German, Italian, Spanish and Japanese
- iVersion delegate now defaults to App Delegate unless otherwise specified

Version 1.8

- iVersion is now *completely zero-config* in most cases!
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
8 changes: 4 additions & 4 deletions iVersion/iVersion.h
@@ -1,7 +1,7 @@
//
// iVersion.h
//
// Version 1.8
// Version 1.9
//
// Created by Nick Lockwood on 26/01/2011.
// Copyright 2011 Charcoal Design
Expand Down Expand Up @@ -34,7 +34,7 @@
//
// ARC Helper
//
// Version 1.2.1
// Version 1.2.2
//
// Created by Nick Lockwood on 05/01/2012.
// Copyright 2012 Charcoal Design
Expand All @@ -48,9 +48,9 @@
#ifndef AH_RETAIN
#if __has_feature(objc_arc)
#define AH_RETAIN(x) (x)
#define AH_RELEASE(x)
#define AH_RELEASE(x) (void)(x)
#define AH_AUTORELEASE(x) (x)
#define AH_SUPER_DEALLOC
#define AH_SUPER_DEALLOC (void)(0)
#else
#define __AH_WEAK
#define AH_WEAK assign
Expand Down

0 comments on commit 51fa27b

Please sign in to comment.