1Password Extension for iOS Apps

Overview

Retirement

As 1Password continues to evolve on iOS we’ve been given new opportunities to take advantage of additions to the operating system that fulfill some of the functionality originally provided by our action extension. With Password AutoFill in iOS 12 and the addition of Safari Web Extensions in iOS 15 we have decided that going forward we will not be continuing support for this action extension. When we originally shipped this extension it provided a critical means of filling into web pages and applications on a system that was brand new for all of us. In the intervening time the landscape has changed dramatically and we feel the time has arrived to let go of this extension that served many in the community well.

Recommendations

To provide an excellent filling experience for everyone on iOS, you will absolutely want to make use of Apple's Associated Domains support to ensure that the Password Manager gets contextual information about your app when they attempt to use the system's Password AutoFill functionality. This, combined with putting the correct content type tags on your fields, ensures that your customers are able to both get the appropriate content displayed by their Password Manager and that when they've chosen to fill that the filled content goes to the right fields.

Resolutions

We will continue to push to improve filling on all of the platforms we support. This includes helping Apple improve their filling solutions. If you want to participate in that process we highly recommend reading through the Password Manager Resources project and contributing energy and passion to help improve filling.

We also realize while Password AutoFill solves many of the problems this extension was meant to solve, it doesn't currently handle all of them. We would ask that you take a look at what Password AutoFill offers and, if your use case is not served by it, that you take the opportunity to file Feedback with Apple to let them know about areas where they can improve the filling story on Password AutoFill.

Thank you for your support over the years and for adopting our filling extension. We see a bright future with Password AutoFill that will allow us to focus our energy on improving other aspects of the 1Password experience for everyone.

Comments
  • [KNOWN ISSUE] Resources and resource_bundle issues when using CocoaPods 1.0.0 Betas

    [KNOWN ISSUE] Resources and resource_bundle issues when using CocoaPods 1.0.0 Betas

    I'm using the Cocoapods for 1Password. It just started not being able to copy over the resources, generating this error now.

    ~/Documents/Projects/iOS/my_project/1PasswordExtension/1Password.xcassets: warning: Failed to read file attributes for "~/Documents/Projects/iOS/my_project/1PasswordExtension/1Password.xcassets"
        Failure Reason: No such file or directory
    /* com.apple.actool.compilation-results */
    
    Command /bin/sh emitted errors but did not return a nonzero exit code to indicate failure
    

    The directory should actually be ~/Documents/Projects/iOS/my_project/Pods/1PasswordExtension/1Password.xcassets though, not ~/Documents/Projects/iOS/my_project/1PasswordExtension/1Password.xcassets

    Any thoughts?

    Thanks for the library!

    opened by mergesort 62
  • iOS 8 App Submission Fails App Store Validation with 1Password SDK

    iOS 8 App Submission Fails App Store Validation with 1Password SDK

    Hola,

    We are running into an issue with submitting an app to the App Store using the 1Password SDK. The validation fails saying that our app contains private API usage in the WebKit framework. The only thing in our app using WebKit is the 1Password extension SDK, and when we remove the SDK, the validation passes.

    I'm not sure what the deal is here, but have you guys seen this and if so do you have any suggestions on next steps?

    Thanks,

    • Conrad
    opened by cnstoll 38
  • [CocoaPods 0.36.0.rc.1 issues] Renaming Dynamic Library Install Name

    [CocoaPods 0.36.0.rc.1 issues] Renaming Dynamic Library Install Name

    I want to integrate the 1Password extension to my Swift application. I am using CocoaPods to integrate your extension into my application. Concluding I needed to use an Objective-C bridging header.

    I had big troubles integrating the extension using this approach, because I was not able to import the required header files using the intuitive command #import <1PasswordExtension/OnePasswordExtension.h, because xCode was unable to find the header file.

    The configuration provided by CocoaPods the dynamic library install name is _1PasswordExtension, concluding I need to import the extension using the very non-intuitive #import <_1PasswordExtension/OnePasswordExtension.h command.

    It would be great to either include a notice about this non-intuitive behaviour or change the name within the next release.

    fixed 
    opened by steilerDev 22
  • Fill UIWebView from normal UIActivityViewController

    Fill UIWebView from normal UIActivityViewController

    I have a web browser application that displays a UIActivityViewController and It displays the 1Password Beta activity item already without this SDK. I pass in a NSString to display all the items but have created a custom UIActivityItemProvider to pass in a image or a URL or the string version of the URL depending on which item is used. If i tap the 1Password Beta It will pass in the string currently and then give an error alert saying It failed to receive information from the app. I then tried passing in the web view but the extension will fail to work and then Xcode will print out a message saying the extension was interrupted. Im trying to get this to work much like how It is in Safari, from the API now I understand I would have to add another button which displays an activity controller just for that, but It may confuse some users because the 1Password item is already in the activity controller. Is there a way to get this working from my normal menu or can this be fixed to work or do I have to add the separate button to add web view form filling?

    opened by MaxHasADHD 22
  • Fill credit card details into ACME-like (native) apps from the 1Password extension

    Fill credit card details into ACME-like (native) apps from the 1Password extension

    We're always looking for ways to streamline the credit card entry into our app, and as someone who personally keeps all my card details in 1Password, being able to select and fill it via the extension would be great.

    Are there any plans to add a CC selection API to the extension?

    Cheers Nick

    under consideration feature 
    opened by nicked 20
  • Add the ability to find matching logins for more than a single URLString.

    Add the ability to find matching logins for more than a single URLString.

    As requested by some of you (@alobi in #87, @honcheng in #90, @dpettigrew in #115 and @voidstern in #121), it is clear to us that we need a better findLoginForURLString:.

    Since this change needs to be implemented in both 1Password and the App Extension API, we filed an internal issue {OPI-1870} in our bug tracker, which should be addressed soon.

    I will close the related issues and will leave this one open. Please feel free to comment on this one instead.

    Thanks guys!

    fixed 
    opened by radazzouz 19
  • -[NSMutableArray removeObjectsAtIndexes:]: index set cannot be nil

    -[NSMutableArray removeObjectsAtIndexes:]: index set cannot be nil

    This is a very similar stack trace to #147 except that we're seeing it almost exclusively on iPhone. Same file and location (presenting the activity view controller).

    Hard to say exactly what happened here - did the user delete 1PW after our app was already open? Maybe the relevant login was deleted in PW after a search started?

    Application Specific Information:
    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSMutableArray removeObjectsAtIndexes:]: index set cannot be nil'
    
    Last Exception Backtrace:
    0   CoreFoundation                       0x0000000183e202d4 0x183cf8000 + 1213140
    1   libobjc.A.dylib                      0x00000001957800e4 0x195778000 + 32996
    2   CoreFoundation                       0x0000000183d80dc8 0x183cf8000 + 560584
    3   UIKit                                0x00000001891b0d24 0x1889f0000 + 8129828
    4   UIKit                                0x00000001891b08b8 0x1889f0000 + 8128696
    5   UIKit                                0x00000001890dbc3c 0x1889f0000 + 7257148
    6   UIKit                                0x0000000188bec9ec 0x1889f0000 + 2083308
    7   UIKit                                0x0000000188a007c0 0x1889f0000 + 67520
    8   UIKit                                0x0000000188a004d0 0x1889f0000 + 66768
    9   UIKit                                0x0000000188d24b64 0x1889f0000 + 3361636
    10  UIKit                                0x0000000188d1f0d8 0x1889f0000 + 3338456
    11  UIKit                                0x0000000188d20520 0x1889f0000 + 3343648
    12  UIKit                                0x0000000188d22498 0x1889f0000 + 3351704
    13  UIKit                                0x0000000188aebf8c 0x1889f0000 + 1032076
    14  UIKit                                0x0000000182187834 0x182150000 + 227380
    15  Do Button                            0x00000001001718f4 -[OnePasswordExtension findLoginForURLString:forViewController:sender:completion:] (OnePasswordExtension.m:128)
    
    cannot reproduce 
    opened by jhersh 18
  • Compiling OnePasswordExtension.m Fails

    Compiling OnePasswordExtension.m Fails

    Not sure if something is different in my configuration than everyone else, since no one else seems to have reported this issue, but the extension files do not seem to compile in my project.

    Every line that has

    __weak typeof(self)
    

    throws the following errors and warnings xcode001

    Changing typeof to __typeof seems to fix it

    opened by bdorfman 18
  • Support for Swift

    Support for Swift

    I am planning to make all my new iOS apps in Swift and although I can have a mixed project (Obj-C & Swift), it would be nice to have everything in Swift. At least there should be some Swift Demos.

    enhancement done 
    opened by araxara 17
  • Extension broken on iOS 10?

    Extension broken on iOS 10?

    every time I try and launch the extension it asks for password, or TouchID and then crashes I think? It just closes before you can even pick a login. Sometimes it just freezes with the vault icon and doesn't even prompt for a password or TouchID

    question 
    opened by kdawgwilk 16
  • Feature Request: Single method to store new or fetch existing login with a given username and URL

    Feature Request: Single method to store new or fetch existing login with a given username and URL

    In the Meetup iOS app, we support logging in through the new user registration form. This is so that returning users who have forgotten that they have an account can sign in with minimal friction.

    Unfortunately, there's no way for us to prevent that friction for 1Password users.

    I'd like to request a method for the 1Password extension to solve this issue. The method would open an editor for an entry with a given username and domain, and either present the existing password (if there's a saved password) or a password generator (if there isn't).

    Since we know the user's requested username (they've just typed it) and the URL (meetup.com), we could use this new method to provide sign-in service through our sign-up form.

    enhancement done 
    opened by tangphillip 16
Releases(1.8.6)
  • 1.8.6(Jan 30, 2020)

    [IMPROVED] Moves all projects forward to Xcode 11 format [IMPROVED] Updates build settings and localization targets [IMPROVED] Converts swift projects to Swift 5 [IMPROVED] Moves the bar forward from iOS 7 to iOS 9 [IMPROVED] Removes all support for UIWebView [IMPROVED] Removes the deprecated call - (void)fillLoginIntoWebView:(nonnull id)webView forViewController:(nonnull UIViewController *)viewController sender:(nullable id)sender completion:(nonnull OnePasswordSuccessCompletionBlock)completion; [FIXED] Updates Readme.md urls, removes mention of a newsletter [FIXED] Updated OnePasswordExtension.(h|m) to include our MIT license in the header

    Source code(tar.gz)
    Source code(zip)
  • 1.8.5(Dec 13, 2017)

    [IMPROVED] Swift demo projects are now compatible with Swift 4 and Xcode 9.2. [IMPROVED] Updated Fill and Collect scripts to match our latest stable browser extensions.

    Source code(tar.gz)
    Source code(zip)
  • 1.8.4(Sep 28, 2016)

  • 1.8.3(Aug 9, 2016)

    [NEW] Added typedefs for completion blocks for more flexibility. {#339}

    [IMPROVED] Updated the Javascript code for Web View Filling. {#335} [IMPROVED] All the completion blocks from the API are now nonnull. {#341}

    [FIXED] Fixed minor typo in the documentation. {#340}

    Source code(tar.gz)
    Source code(zip)
  • 1.8.2(May 24, 2016)

    [IMPROVED] Updated the Javascript code for Web View Filling. {#324}

    [FIXED] Fixed a crash caused by unwrapping an Optional value while running ACME Swift on iPad. {#323}

    Source code(tar.gz)
    Source code(zip)
  • 1.8.1(Apr 20, 2016)

    [NEW] Added metadata badges to the README. {#319. #321}

    [IMPROVED] Updated the Javascript code for Web View Filling. {#316}

    [FIXED] Fixed casting to NSString of CFStringRef constants. {#317}

    Source code(tar.gz)
    Source code(zip)
  • 1.8(Feb 15, 2016)

    [NEW] Added documentation to the Wiki. Thank you for reaching and for contributing. Feel free to open issues to request Wiki documentation.

    [IMPROVED] Improved compatibility with CocoaPods 1.0.0. {#302} [IMPROVED] Updated the Javascript code for Web View Filling. {#303} [IMPROVED] Improved the instructions for the Rich Icons submission in the Best Practice section. {#290} [IMPROVED] Updated the documentation to mention all the required frameworks to link for projects targeting iOS 7.1 or earlier. {#294, #296} [IMPROVED] Improved the header documentation. {#298} [IMPROVED] Listing all the required frameworks in the podspec file. {#297} [IMPROVED] Removed extra new lines for a clearer code in the README. {#293} [IMPROVED] Removed usless semicolons from Swift code. {#295}

    [FIXED] Fixed status bar inconsistencies between the Objective-C and the Swift versions of ACME. {#292} [FIXED] Fixed outdated header comments for the demo apps. {#299} [FIXED] Fixed indentation in the podspec file. {#305}

    Source code(tar.gz)
    Source code(zip)
  • 1.7(Dec 9, 2015)

    [IMPROVED] Improved compatibility with Xcode 7.2. {#279} [IMPROVED] Updated the README to mention that SFSafariViewController now works on devices running iOS 9.2 or later. {#239, #280} [IMPROVED] Updated the Javascript code for Web View Filling. {#281}

    [FIXED] Fixed warnings caused by missing icons for the demo apps. {#279} [FIXED] Fixed an issue where ACME (Swift) was a Universal app, causing a crash at launch on iPad. {#279}

    Source code(tar.gz)
    Source code(zip)
  • 1.6.4(Nov 9, 2015)

  • 1.6.3(Oct 17, 2015)

  • 1.6.2(Oct 16, 2015)

  • 1.6.1(Sep 22, 2015)

    [IMPROVED] Improved the header documentation. {#262, #263} [IMPROVED] Updated the in-code documentation for the improved Change Password capability. {#264}

    Source code(tar.gz)
    Source code(zip)
  • 1.6(Sep 16, 2015)

    [NEW] Added Swift demo apps. {#101 #257} [NEW] Added newsletter sign up in the README. {#252}

    [IMPROVED] Improved compatibility with Xcode 7. [IMPROVED] Clarifying the use of the URL string in the README. {#253, #254}

    [FIXED] Fixed the social media URL for CocoaPods. {#247}

    Source code(tar.gz)
    Source code(zip)
  • 1.5(Aug 20, 2015)

    [NEW] Added the ability to retrieve the generated One-Time Password from the 1Password Login if available. {#163, #199} [NEW] Added the ability to specify unsupported characters when using the password generator options. {#36} [NEW] Added nullability for improved compatibility with Swift projects. {#218, #241,#245} [NEW] Our demo apps, ACME and ACME Browser are now written in Swift 1.2 and Swift 2.0 too. {#101} [NEW] Added ability to use the WKWebView code when the Deployment Target is iOS 7.1 or earlier. {#214}

    [IMPROVED] Simplified Web View Filling. {#200} [IMPROVED] Fully compatible with iOS 9 and Xcode 7. {#238, #241} [IMPROVED] Improved compatibility with the latest version of CocoaPods. {#187, #235} [IMPROVED] Improved the README, the in-code documentation and spring cleaned the entire codebase. {#200, #202, #203, #206, 241} [IMPROVED] Improved the password generator options. {#36} [IMPROVED] Updated the collect and fill scripts for the latest 1Password Brain. {#193} [IMPROVED] We now assert when the sender parameter is nil on iPad. {#226, #241} [IMPROVED] Improved Google Search in ACME Browser. {#240} [IMPROVED] ACME Browser is now a Universal app. {#242}

    [FIXED] Fixed all xcassets warnings {#196} [FIXED] Fixed an issue where the Password Generator length keys were not honoured in 1Password 5.5. {#35} [FIXED] Fixed typo for the AppExtensionPasswordGeneratorOptionsKey constant. {#191}

    Source code(tar.gz)
    Source code(zip)
  • 1.2(Mar 30, 2015)

    [NEW] Added the all new Fill into Browser capability. This enables the 1Password Extension to show alongside other activities and to fill Credit Cards and Identities into your browser's web views. {#186} [NEW] Added Swift compatibility for CocoaPods 0.36 or later. {#182}

    [IMPROVED] The latest and greatest filling Brain in 1Password 5.3 or later will automatically be used for the Web View Login and Browser filling capabilities when filling Logins, Credit Cards and Identities. {#171, #172, #178 and #184} [IMPROVED] Updated the README, the Best Practices and the in-code documentation in general. {#183 and #186} [IMPROVED] Improved the in-code documentation and simplified the change password capability. {#185} [IMPROVED] Added "facebook.com" as a quick link in ACME Browser for easier and faster testing. {#170}

    Source code(tar.gz)
    Source code(zip)
  • 1.1.2(Feb 5, 2015)

  • 1.1.1(Feb 4, 2015)

    [NEW] Added support for the iPhone 6 and 6 Plus for ACME and ACME Browser. [NEW] Added support for Carthage in the add-framework-support branch. [NEW] Added light-coloured assets for the 1Password Button.

    [IMPROVED] Updated filling code for the upcoming filling brain in 1Password. (1Password 5.3 betas are required) [IMPROVED] We now validate that the new password and the old password are not the same when changing the password in ACME. [IMPROVED] Minimized the scope of some string constants to help prevent "duplicate symbol" linker errors when this code is included more than once in an app (because one or more libraries includes this code).

    [FIXED] Fixed problem where passwords containling \ did not properly fill. [FIXED] Removed the weak/strong self dance when not necessary. [FIXED] Replaced the email for beta access alert with a link to get 1Password from the App Store when 1Password is not installed. [FIXED] Fixed warning about multiple length methods in Xcode. [FIXED] Fixed issue with some shadowed error variables.

    Source code(tar.gz)
    Source code(zip)
  • 1.1(Oct 29, 2014)

    • Updated the README.
    • Improved error messages and the code in general.
    • Replaced all occurrences of typeof with typeof which fixes build errors for some users.
    • Fix clang warning concerning some local variables.
    • Fixed crash that could occur when the 1Password extension is invoked before the web view is fully loaded.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.9(Sep 18, 2014)

  • 1.0.8(Aug 22, 2014)

  • 1.0.7(Aug 20, 2014)

  • 1.0.6(Aug 16, 2014)

    • [NEW] Added the ability to communicate the API's version number to 1Password.
    • [FIXED] Fixed exception when launching the App Extension from an iPad.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.5(Aug 13, 2014)

    • [NEW] Added the ability to change passwords in 1Password.
    • [NEW] Added the ability to build in Xcode 5.
    • [NEW] Added fresh new icons.
    • [IMPROVED] We now make sure that all parameneters are non nil.
    • [IMPROVED] The minimum and maximum lengths of the Password Generator are now honored.
    • [FIXED] Added onepassword- prefix to the image assets.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.4(Aug 6, 2014)

    • The API can now be embedded in a framework.
    • Fixed the license filename is the podspec.
    • Fixed problem where an error was returned when the user cancelled the extension or the share sheet.
    • Removed previously excluded UIActivityTypes as this is no longer needed in iOS 8 beta 5.
    Source code(tar.gz)
    Source code(zip)
  • 1.0.3(Aug 1, 2014)

    • Additional fields sent to extension when creating a new Login will now be also returned back. The app could query the fields to get the changes made in 1Password.
    • WebKit framework is now weakly linked in the podspec.
    Source code(tar.gz)
    Source code(zip)
Owner
AgileBits
AgileBits
The official CovPass(-Check) iOS apps

CovPass / CovPass Check Einfach. Sicher. Papierlos. Mit der CovPass-App können Bürgerinnen und Bürger ihre Corona-Impfungen direkt auf das Smartphone

null 96 Dec 18, 2022
150,000+ stickers API & SDK for iOS Apps.

English | 한국어 Stipop UI SDK for iOS Stipop SDK provides over 150,000 .png and .gif stickers that can be easily integrated into mobile app chats, comme

Stipop, Inc. 19 Dec 20, 2022
Used to integrate the Facebook Platform with your iOS & tvOS apps.

Facebook SDK for iOS This open-source library allows you to integrate Facebook into your iOS app. Learn more about the provided samples, documentation

Meta 7.3k Jan 3, 2023
Fetch the update available status for iOS or macOS apps based on the bundle identifier.

AppUpdately Fetch the update status for a given app bundle identifier, without the need of any remote configuration. Simply provide your app's bundle

Antoine van der Lee 30 Dec 20, 2022
Project(s) for iOS mobile apps

Pre-work - Calculator tip app tip calculator is a tip calculator application for iOS. Submitted by: William Hiltz Time spent: 2 hours spent in total U

null 0 Jan 9, 2022
MbientLab 2 Feb 5, 2022
ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects.

ResearchKit Framework The ResearchKit™ framework is an open source software framework that makes it easy to create apps for medical research or for ot

null 5.5k Dec 26, 2022
CareKit is an open source software framework for creating apps that help people better understand and manage their health.

CareKit CareKit™ is an open source software framework for creating apps that help people better understand and manage their health. The framework prov

CareKit 2.3k Dec 27, 2022
Twitter Kit is a native SDK to include Twitter content inside mobile apps.

Twitter will be discontinuing support for Twitter Kit on October 31, 2018. Read the blog post here. Twitter Kit for iOS Background Twitter Kit is a na

Twitter Archive 674 Dec 18, 2022
Home-assistant-swift-sdk - Used to integrate the Home Assistant APIs with your Swift-based apps.

home-assistant-swift-sdk This open-source library allows you to interact with a Home Assistant instance in your Swift-based (e.g., iOS, macOS, etc.) a

Alexander Golden 0 Dec 31, 2021
Install and debug iPhone apps from the command line, without using Xcode

ios-deploy Install and debug iOS apps from the command line. Designed to work on un-jailbroken devices. Requirements macOS You need to have a valid iO

null 3k Jan 8, 2023
In-app feedback and bug reporting tool for apps.

Instabug iOS SDK Instabug is an in-app feedback and bug reporting tool for mobile apps. With just a simple shake, your users or beta testers can repor

Instabug 274 Dec 14, 2022
Project Flat iOS is the iOS client of Agora Flat open source classroom.

Agora Flat iOS Project flat is the iOS client of Agora Flat open source classroom. 中文 Features Open sourced front-end and back-end [Flat Web][flat-web

netless 24 Dec 12, 2022
Native iOS implementation of RadarCOVID tracing client using DP3T iOS SDK

RadarCOVID iOS App Introduction Native iOS implementation of RadarCOVID tracing client using DP3T iOS SDK Prerequisites These are the tools used to bu

Radar COVID 146 Nov 24, 2022
TelegramStickersImport — Telegram stickers importing SDK for iOS

TelegramStickersImport — Telegram stickers importing SDK for iOS TelegramStickersImport helps your users import third-party programaticaly created sti

null 35 Oct 26, 2022
Native iOS port of KDE Connect

Welcome to KDE Connect iOS 2021's Testing Repository! This project is inteded to be the iOS version of the group of applications called KDE Connect, w

KDE GitHub Mirror 292 Dec 27, 2022
Muxer used on top of Feed iOS SDK for airplay

FeedAirplayMuxer Muxer used on top of Feed iOS SDK for airplay purposes. Demo Project --> https://github.com/feedfm/AirplayDemo Feed Airplay Muxer is

Feed Media 0 May 6, 2022
Basispay IOS SDK Version 2

BasisPay-IOS-KIT BasisPay IOS Payment Gateway kit for developers INTRODUCTION This document describes the steps for integrating Basispay online paymen

null 0 Oct 21, 2021
Release repo for Gini Bank SDK for iOS

Gini Bank SDK for iOS The Gini Bank SDK provides components for capturing, reviewing and analyzing photos of invoices and remittance slips. By integra

Gini GmbH 1 Dec 6, 2022