Comments (10)
Just use this in your Podfile for now:
pod 'KeychainAccess', :git => 'https://github.com/kishikawakatsumi/KeychainAccess.git', :branch => 'swift-2.0'
But yes, I really want this merged to master as well. Especially since Xcode 7 and Swift 2.0 are officially out.
from keychainaccess.
That does not work when you have a library with a dependency to KeychainAccess and you are using that library in another library. Then you can only setup the dependency in your .podspec file. In a .podspec file you can only set a specific version as a dependency. not a branch.
In my situation I am using KeychainAccess in my AlamofireOauth2 project. Indeed in the Podfile I have set it up the way you mentioned above. That project builds and compiles fine. But I also have a project called EVWordpressAPI which has AlomifireOauth2 as a dependency. So KeychainAccess is not a direct dependency. Cocoapods will look in the .podspec for the dependencies, It will find KeychainAccess and it will add the version that is specified. The Swift2 branch does not have a cocoapod version yet.
So it does compile, but I can't create a pod. The command 'pod lib lint' will result in an error because the dependency cannot be compiled.
from keychainaccess.
It does work, I am also creating a Pod that is currently written in Swift 2.0 and it is using KeychainAccess on the swift-2.0 branch. I should have been more specific, it needs to be setup like so...
In your .podspec
for your pod you should have some dependencies or sub dependencies like:
s.subspec "Core" do |core|
core.source_files = 'Source/Core/**/*.swift'
core.dependency 'Alamofire'
core.dependency 'KeychainAccess'
core.dependency 'ObjectMapper'
core.dependency 'RealmSwift'
core.dependency 'Starscream'
core.dependency 'SwiftyJSON'
end
Notice I did not specify a version on any of those dependencies, that is because I am going to specify branches in my Podfile for the example project that is generated by pod lib create
. That Podfile looks like this:
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
target 'Tablelist_Example', :exclusive => true do
pod "Tablelist", :path => "../"
pod 'Alamofire', '~> 2.0.0'
pod 'KeychainAccess', :git => 'https://github.com/kishikawakatsumi/KeychainAccess.git', :branch => 'swift-2.0'
pod 'ObjectMapper', '~> 0.16'
pod 'Realm', :git => 'https://github.com/realm/realm-cocoa.git', :branch => 'swift-2.0'
pod 'RealmSwift', :git => 'https://github.com/realm/realm-cocoa.git', :branch => 'swift-2.0'
pod 'Starscream', :git => 'https://github.com/daltoniam/Starscream.git', :branch => 'Swift-2.0'
pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git', :branch => 'xcode7'
end
target 'Tablelist_Tests', :exclusive => true do
pod "Tablelist", :path => "../"
pod 'Alamofire', '~> 2.0.0'
pod 'KeychainAccess', :git => 'https://github.com/kishikawakatsumi/KeychainAccess.git', :branch => 'swift-2.0'
pod 'ObjectMapper', '~> 0.16'
pod 'Realm', :git => 'https://github.com/realm/realm-cocoa.git', :branch => 'swift-2.0'
pod 'RealmSwift', :git => 'https://github.com/realm/realm-cocoa.git', :branch => 'swift-2.0'
pod 'Starscream', :git => 'https://github.com/daltoniam/Starscream.git', :branch => 'Swift-2.0'
pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git', :branch => 'xcode7'
pod 'Quick', '~> 0.6.0'
pod 'Nimble', '2.0.0-rc.3'
end
Now when I run pod update
Cocoapods will grab the versions specified in my Podfile. My unit tests even work correctly. I can import the Tablelist
module in my tests and access everything as expected. now of course I cannot release my Pod to the trunk like this, otherwise I would have to ask all the users of my Pod to do the same, but for developing this works perfectly, and I can even release an app to the App Store if need be. It will only be a matter of time before those dependencies above have official versions. Lucky for me, I'm a few weeks away from having a stable Pod so this has been working great while I continue to develop and test.
P.S. You'll notice Nimble actually does have a branched version in the trunk: pod 'Nimble', '2.0.0-rc.3
comes from their swift-2.0 branch. It would obviously be ideal if KeychainAccess
and all the others above did the same.
from keychainaccess.
+1 I think its now an appropriate time to release a new version with Swift 2.0 support instead of needing to use the branch:
tag.
@kishikawakatsumi Since the Xcode 7 GM seed was released, and we can now upload applications for iOS9, can we get an official release of this pod for Swift 2.0 please?
Thank you!
from keychainaccess.
@AndrewBarba the fact that i cannot release my pod was the point. 'pod lib lint' will fail.
from keychainaccess.
@evermeer Yeah, I am now unable to release my pod as well because it has a dependency on this.
@kishikawakatsumi Can we expect this today? Otherwise I'm going to have to fork the project and create a whole new pod of my own. I'd really rather not do that.
from keychainaccess.
@AnthonyMDev I might not have enough time sorry, I would like to release though... 😢
from keychainaccess.
I mad a PR for this #108 today, so it should take long. If you don't have time, I'd be happy to do it for you, but you'd need to make me a contributor on this repository and a "owner" on the Cocoapod.
If you are willing to do that, it's really easy. Just pod trunk add-owner [email protected]
and make me an admin on the repo so I can do the edits to the pod spec.
I totally understand being too busy, everyone goes through those times, but you have 865 stars, and according to Cocoapods, 197 people using this pod in applications that can't be updated to use iOS9 currently, so this is pretty necessary.
Thanks for making such a helpful library @kishikawakatsumi . Let me know what you think.
from keychainaccess.
I'm working on it.
from keychainaccess.
I've released KeychainAccess 2.0.0 with Swift 2.0 support. Thanks for your patience!! 🙇
from keychainaccess.
Related Issues (20)
- keychain access
- Purple Error in Xcode 14.3 (14E222b) HOT 1
- brew install pipx pipx ensurepath
- Is there an update on this? This is affecting our production apps.
- update 3.2.3 to 4.2.0,it is crashed ,when play animation
- iCloud
- I can not upload my app due to this issue,
- how to pass items from Keychain between iOS project and watchOS extension app HOT 4
- Does not compile under Xcode 15 and Sonoma HOT 1
- 835706d8afdaf5c437056136ccf38dace4cc13e6
- Any support of Privacy Manifest? HOT 2
- About Privacy Manifest Update Plan HOT 15
- Support App Privacy Manifest HOT 1
- Privacy Manifest File Updation Needed.
- Tagging Releases HOT 4
- Support Apple Privacy Manifest HOT 1
- This function not working on live device but running perfectly on simulator, so please give answer of this function
- error
- Cc
- Me
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from keychainaccess.