Skip to content

liplum/uipasteboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UIPasteboard

pub package

A Flutter plugin to interact with UIPasteboard on iOS.

Important

Starting in iOS 14, the system notifies the user when an app gets general pasteboard content that originates in a different app without user intent. The system determines user intent based on user interactions, such as tapping a system-provided control or pressing Command-V. Use detection methods this package provided like UIPasteboard().hasURLs() to determine whether pasteboard items match various patterns, such as web search terms, URLs, or numbers, without notifying the user.

Get Started

Add the following in the dependencies section of your pubspec.yaml:

dependencies:
  uipasteboard: <latest version>

You can detect if the clipboard contains a URL and retrieve it with the following code:

Future<void> main() async {
  // Ensure the platform channel was initialized
  WidgetsFlutterBinding.ensureInitialized();

  // the plugin only works on iOS
  if (Platform.isIOS) {
    final pasteboard = UIPasteboard();
    final hasUrl = await pasteboard.hasURLs();
    // Check if the pasteboard has a URL, to avoid asking for permission dialogs.
    if (hasUrl) {
      // Get the URL from the pasteboard
      final url = await pasteboard.getURL();
      print(url);
    }
  }
}

Detection and Retrieval

Type Detection Retrieval
String hasStrings() getString(), getStrings()
URL hasURLs() getURL(), getURLs()
Image hasImages() getImage(), getImages()
Color hasColors() getColor(), getColors()

About

A Flutter plugin to interact with UIPasteboard on iOS.

Topics

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Contributors