diff --git a/OpenWhisk.podspec b/OpenWhisk.podspec
index 2facc9c..b22dc63 100644
--- a/OpenWhisk.podspec
+++ b/OpenWhisk.podspec
@@ -1,21 +1,21 @@
 Pod::Spec.new do |s|
 
 	s.name         = 'OpenWhisk'
-	s.version      = '0.2.2'
-	s.summary      = 'Mobile SDK to use OpenWhisk server-less environment'
-	s.homepage     = 'http://www.ibm.com/mobilefirst/us/en/'
+	s.version      = '0.3.0'
+	s.summary      = 'Apache OpenWhisk Client SDK'
+	s.homepage     = 'https://apache.openwhisk.org'
 	s.license      = { :type => 'Apache License, Version 2.0' }
-	s.authors      = 'IBM'
+	s.authors      = 'Apache OpenWhisk'
 
 	s.description  = <<-DESC
 	OpenWhisk is a cloud-first distributed event-based programming service. OpenWhisk provides a programming model to upload event handlers to a cloud service, and register the handlers to respond to various events.
 
 	DESC
 
-	s.ios.deployment_target = '9.0'
-	s.watchos.deployment_target = '3.0'
+	s.ios.deployment_target = '11.0'
+	s.watchos.deployment_target = '4.0'
 
-	s.source       = { :git => 'https://github.com/openwhisk/openwhisk-client-swift.git', :tag => "#{s.version}" }
+	s.source       = { :git => 'https://github.com/apache/incubator-openwhisk-client-swift.git', :tag => "#{s.version}" }
 
 
 	s.source_files  = 'OpenWhisk/*.{swift,h}'
diff --git a/README.md b/README.md
index 2437264..d04925c 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
 [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
 [![Build Status](https://api.travis-ci.org/apache/incubator-openwhisk-client-swift.svg?branch=master)](https://api.travis-ci.org/apache/incubator-openwhisk-client-swift)
 
-This is a Swift-based client SDK for OpenWhisk. You can use it to connect to the [IBM Bluemix OpenWhisk service](http://www.ibm.com/cloud-computing/bluemix/openwhisk/), or you own installation of [OpenWhisk](https://github.com/openwhisk/openwhisk).  It partially implements the OpenWhisk [REST API](https://github.com/openwhisk/openwhisk/blob/master/docs/reference.md#rest-api) and allows you to invoke actions and fire triggers. The client SDK is compatible with Swift 3.x and runs on iOS 9 & 10, WatchOS 3, and Darwin.  Since this code uses classes like URLSession, Linux support is linked to the current status of [Foundation on Linux](https://github.com/apple/swift-corelibs-foundation).
+This is a Swift-based client SDK for OpenWhisk. You can use it to connect to the [IBM Cloud Functions service](https://www.ibm.com/cloud/functions), or you own installation of [Apache OpenWhisk](https://github.com/apache/incubator-openwhisk).  It partially implements the OpenWhisk [REST API](https://github.com/apache/incubator-openwhisk/blob/master/docs/reference.md#rest-api) and allows you to invoke actions and fire triggers. The client SDK is compatible with Swift 4.x and runs on iOS 11, WatchOS 4, and Darwin.  Since this code uses classes like URLSession, Linux support is linked to the current status of [Foundation on Linux](https://github.com/apple/swift-corelibs-foundation).
 
 ## Installation
 You can install the SDK using the source code in this repo, as a Cocoapod for iOS and WatchOS apps, Carthage, and as a package using the Swift Package Manager for Darwin CLI apps.
@@ -11,7 +11,7 @@
 ### Source Code Installation
 To build the source code:
 - Clone this repo.
-- Open the `OpenWhisk.xcodeproj` file in Xcode 8.0
+- Open the `OpenWhisk.xcodeproj` file in Xcode 9.x
 - Build the OpenWhisk target for an iOS app or the OpenWhiskWatch target for a WatchOS app.
 - Locate the binary framework file (usually in `debug` or `release` directories at `~/Library/Developer/Xcode/DerivedData/$projectName-*`) and add it to the "Embedded Binaries" list in the General settings of your apps' target.
 
@@ -25,11 +25,11 @@
 use_frameworks!
 
 target 'MyApp' do
-     pod 'OpenWhisk', :git => 'https://github.com/openwhisk/openwhisk-client-swift.git', :tag => '0.2.2'
+     pod 'OpenWhisk', :git => 'https://github.com/apache/incubator-openwhisk-client-swift.git', :tag => '0.3.0'
 end
 
 target 'MyApp WatchKit Extension' do
-     pod 'OpenWhisk', :git => 'https://github.com/openwhisk/openwhisk-client-swift.git', :tag => '0.2.2'
+     pod 'OpenWhisk', :git => 'https://github.com/apache/incubator-openwhisk-client-swift.git', :tag => '0.3.0'
 end
 ```
 You may get the warning 'target overrides the `EMBEDDED_CONTENT_CONTAINS_SWIFT` ' when you have a watch target.  You can eliminate this warning by changing this setting in "Build Settings" to the value '$(inherited)'.
@@ -42,7 +42,7 @@
 post_install do |installer|
   installer.pods_project.targets.each do |target|
     target.build_configurations.each do |config|
-      config.build_settings['SWIFT_VERSION'] = '3.0'
+      config.build_settings['SWIFT_VERSION'] = '4.0'
     end
   end
 end
@@ -55,7 +55,7 @@
 Here is an example Cartfile for iOS installation using Carthage:
 
 ```
-github "openwhisk/openwhisk-client-swift.git" ~> 0.2.2 # Or latest version
+github "openwhisk/openwhisk-client-swift.git" ~> 0.3.0 # Or latest version
 
 ```
 
@@ -68,7 +68,7 @@
 let package = Package(
   name:  "PackageTest",
   dependencies: [
-    .Package(url:  "https://github.com/openwhisk/openwhisk-client-swift.git", versions: Version(0,0,0)..<Version(1,0,0)),
+    .Package(url:  "https://github.com/apache/incubator-openwhisk-client-swift.git", versions: Version(0,0,0)..<Version(1,0,0)),
   ]
 )
 ```
diff --git a/mobile/iOS/starterapp/Cartfile b/mobile/iOS/starterapp/Cartfile
index aefd381..88c06c3 100644
--- a/mobile/iOS/starterapp/Cartfile
+++ b/mobile/iOS/starterapp/Cartfile
@@ -1 +1 @@
-github "openwhisk/openwhisk-client-swift.git" ~> 0.2.1 # Or latest version
\ No newline at end of file
+github "apache/incubator-openwhisk-client-swift.git" ~> 0.3.0 # Or latest version
\ No newline at end of file
diff --git a/mobile/iOS/starterapp/OpenWhiskStarterApp.xcodeproj/project.pbxproj b/mobile/iOS/starterapp/OpenWhiskStarterApp.xcodeproj/project.pbxproj
index 466fc87..bc595d6 100644
--- a/mobile/iOS/starterapp/OpenWhiskStarterApp.xcodeproj/project.pbxproj
+++ b/mobile/iOS/starterapp/OpenWhiskStarterApp.xcodeproj/project.pbxproj
@@ -129,7 +129,6 @@
 				D65844401C727BBC001581F3 /* Resources */,
 				D648FD291C72804F0088C7C1 /* Embed Frameworks */,
 				17B39CA85AFF9440A7860D2E /* [CP] Embed Pods Frameworks */,
-				3A2BC21CBA0FE292175B4880 /* [CP] Copy Pods Resources */,
 			);
 			buildRules = (
 			);
@@ -225,21 +224,6 @@
 			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-OpenWhiskStarterApp/Pods-OpenWhiskStarterApp-frameworks.sh\"\n";
 			showEnvVarsInLog = 0;
 		};
-		3A2BC21CBA0FE292175B4880 /* [CP] Copy Pods Resources */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "[CP] Copy Pods Resources";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-OpenWhiskStarterApp/Pods-OpenWhiskStarterApp-resources.sh\"\n";
-			showEnvVarsInLog = 0;
-		};
 /* End PBXShellScriptBuildPhase section */
 
 /* Begin PBXSourcesBuildPhase section */
diff --git a/mobile/iOS/starterapp/Podfile b/mobile/iOS/starterapp/Podfile
index a5aae93..46bedde 100644
--- a/mobile/iOS/starterapp/Podfile
+++ b/mobile/iOS/starterapp/Podfile
@@ -1,14 +1,14 @@
 use_frameworks!
 
 target 'OpenWhiskStarterApp' do
-     platform :ios, '10.0'
-     pod 'OpenWhisk', :git => 'https://github.com/openwhisk/openwhisk-client-swift.git', :tag => '0.2.2'
+     platform :ios, '11.0'
+     pod 'OpenWhisk', :git => 'https://github.com/apache/incubator-openwhisk-client-swift.git', :tag => '0.3.0'
 end
 
 post_install do |installer|
   installer.pods_project.targets.each do |target|
     target.build_configurations.each do |config|
-      config.build_settings['SWIFT_VERSION'] = '3.0'
+      config.build_settings['SWIFT_VERSION'] = '4.0'
     end
   end
 end
\ No newline at end of file
