swiftkitz / appz Goto Github PK
View Code? Open in Web Editor NEW๐ฑ Launch external apps, and deeplink, with ease using Swift!
Home Page: https://swiftkitz.github.io/
License: MIT License
๐ฑ Launch external apps, and deeplink, with ease using Swift!
Home Page: https://swiftkitz.github.io/
License: MIT License
I have noticed that the version of this library is still at v1.0.0, Should we increment it in the readme file and the podespec or what?
Salaam,
I'm thinking of a way to give the developer the ability to just install the app he/she need. Because maybe the developer just need one or few apps so no need to install 155 apps, Do you agree with me?
I think we can offer this feature but I don't know how but I'm thinking, searching, and sharing thoughts so we will solve it ุฅู ุดุงุก ุงููู
Hmm, I think the best way is to combine all apps with just open action together (one class), and then use enum or .. to decide which scheme, baseURL, and paths to use. Do you agree? this will reduce file number to more than half.
Maybe my thinking is wrong but I think we have to reduce file number ..
๐ or something
Hi @Dreamersoul,
thanks for this great project!
I want to ask, is there a way to pass the event detail info to Google Calendar by the scheme? I've searched for a long time but no useful result was found. (Google Maps provide one : https://developers.google.com/maps/documentation/urls/ios-urlscheme , but not good for the calendar).
I try my luck here, any advise will be appreciated.
Thanks again.
This library heavily relies on tests for correctness, so this is crucial.
I'm calling this and it gets me to Safari tab, instead of app, that's installed a it was opened before.
UIApplication.shared.open(Applications.GoogleDrive(), action: .open)
This code gets me to the Google Maps app.
UIApplication.shared.open(Applications.GoogleMaps(), action: .open)
Hello!
Do you have any plans on migrating library to newer versions of swift?
Hello , it's possible to go on my Settings system with this plugin ?
For example , in my app , i check if my wifi is activate, if my wifi is not activate , i want to go on Settings system (Android or Ios) to activate wifi .
It's possible ?
Thanks to #6, we have mail and SMS support. We should update the readme and playground with those.
Salaam,
I discovered a weird issue! when I run pod install everything installed except the two apps, I added yesterday. I'm sure I added them to all targets: iOS, tvos, and watchOS. And the most weird part is when I downloaded Appz as zip file I found these two apps: NYTimes, and Skitch. Any suggestion?
Instead of manually writing new Swift classes, tests, pod specs, and modifying the readme, we can have a configuration file with all the apps specs we have, and then a script that generates all the files needed. This will help us move much faster and adapt to future changes more quickly.
Hi,
What about integrating Swinject with Appz ?
I don't think the current escape
method used properly escapes URL query parameters, since it doesn't encode &
. This means if the user passes &
as a value, it will mess up the URL query.
Hello! Thanks for the framework. I use it to open the FourSquare app, but I get the error -canOpenURL: failed for URL: "foursquare:" - error: "I could add foursquare to Info. Plist. Please tell me how can I fix this?
MS apps seem to have an issue when being launched, need to investigate further.. See #28
Start with tvOS, then watchOS, and maybe Mac OS.
Spread the โ โค๏ธ
Hey great work,
But in the Instagram.swift file the query parameters for the enum .Username should be "username" and not "id"
Need this repo to be a bit attractive!
Should we create an example project for the library?
iOS 10 adds a way to asynchronously try opening an applications, and registering a callback once that's over:
open func open(_ url: URL, options: [String : Any] = [:], completionHandler completion: (@escaping (Bool) -> Swift.Void)? = nil)
We can probably provide a new method that conditionally compiles if the minimum SDK requirement is iOS 10.
i was testing the library on a dummy app im working on, and found that i need to add the apps uri scheme in the info.plist file in iOS 9 primarily
is there is a way to avoid that or even add our own plist file in the library with all the shemes so that developers using this library use it as a reference?
Hello,
Not sure how exactly this library works (not an iOS developer), but is it possible to trigger opening of an arbitrary document like docx/xlsx/pdf (from an URL location) inside an external office app e.g. MobileIron's Docs@Work? Is it enough to write another swift file and somehow embed this into my own app?
My app deals with documents and the security is handled by MobileIron. MobileIron is a type of EMM and what they do is they wrap IPA files into a secure containers and, on the other side, also provide a sort of Office app called Docs@Work which is used to open all these formats in read-only mode (no copy-paste, sharing etc).
Can I trigger document opening from my app using your Appz library?
Many thanks,
Baki
After seeing #9, it is apparent that the developer will need to ask if the app is available or not. Something like:
if AvailableApps.Twitter.installed {
// Twitter is installed
}
i have found this on tweetbot official site link it works on both tweetbot 3 and 4, even if we don't specify a screen name it would work too.
The issue is if i requested favourites and the favourites tab is hidden in the app it self then the favourites tab wouldn't show instead it would just open the app.
So should i implement it anyway, and if yes what should be the fall back url?
Hello,
I found Strava API v3
I think it will help us in adding more actions to Strava app. I will be glad to add more actions, but I don't have a Strava account to test the new actions.
P.S. I can create a Strava account, but I think it will be useless because I will not have activities, followers, ..
Thanks.
It would be great to add a capability for developers to redirect users to the AppStore in order to download a specific app, in case it is missing. This feature doesn't work for all applications, since some applications have web interfaces we can use instead, without downloading the app.
The feature should be designed such that the developer would willingly opt-in to opening the AppStore for downloading the specific app if it is missing, and doesn't just happen transparently.
I know this is really stupid, but some apps, do not support QueryParameters like they should, and only support QueryItems in custom order. (like Maps.Me)
Any suggestions on how to fix this problem?
I was trying to add:
enum Query {
case parameters([String:String])
case items([URLQueryItem])
var queryItems: [URLQueryItem] {
switch self {
case .parameters(let params): return params.map { URLQueryItem(name: $0, value: $1) }
case .items(let queryItems): return queryItems
}
}
}
And use Query as an input, But since Path
's queryParameters
is variable and public, it'll definitely break backward compatibility.
Any suggestions?
Having added applications inherit ExternalApplication
gives us a lot of flexibility, but I am starting to question the need for such a flexible design. Perhaps making it a simple struct instance would reduce all the boilerplate code written for the added apps... Need to investigate.
Could be cool to update the pod version with le latest PRs and updates :)
Thank you for this library ๐
Some URLs seems to be missing a hostname, something like:
let url = "scheme:key=value"
We should accommodate such format, probably by tweaking the ExternalApplication
protocol through adding some properties to indicate such format.
We should link the apps in the readme file to publisher website, for easy referencing.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.