Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

190
Views
extensión compartida de ios: ¿cómo obtener la URL de la imagen?

Estoy escribiendo una extensión de acción para transformar la URL de una imagen y copiarla en el portapapeles haciendo clic en el botón Compartir de una imagen en una página web en Safari.

Creé una extensión de acción en Xcode sin interfaz de usuario.

En el script de preprocesamiento de javascript action.js , puedo obtener la URL y el título de toda la página.

 run: function(arguments) { arguments.completionFunction({ "URL" : document.URL, "title": document.title }) },

Y eso funciona para el botón de compartir de toda la página web.

Pero, ¿cómo puedo obtener la URL de la imagen que se envía?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Cuando usa from URL, es mejor usar from :

 pod 'SDWebImage'

esto es mejor debido al caché

puede establecer su cadena de URL con el siguiente código:

 libraryImageView.sd_setImage(with: URL(string: "your URL string"), placeholderImage: UIImage(named: Image.placeholder.rawValue))

después de eso, puede obtener la URL con el siguiente código:

 libraryImageView.sd_ImageURL

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Report

0

Respondiendo a mi propia pregunta. Tuve que crear una extensión de acción con la interfaz de usuario para poder trabajar dentro de la clase ActionViewController: UIViewController . El truco es buscar UTType.url.identifier a través de los elementos compartidos.

El siguiente código funciona para el botón de compartir de toda la página web y una imagen.

 override func viewDidLoad() { super.viewDidLoad() // search for url var found = false for item in self.extensionContext!.inputItems as! [NSExtensionItem] { for provider in item.attachments! { if provider.hasItemConformingToTypeIdentifier(UTType.url.identifier) { provider.loadItem(forTypeIdentifier: UTType.url.identifier, options: nil, completionHandler: { (url, error) in OperationQueue.main.addOperation { if let url = url as? URL { // do something with the url here } }}) found = true break } } if (found) { // We only handle one url, so stop looking for more. break } } // don't show user interface self.done() }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!