2015-03-26 1 views
5

Я пытаюсь связать функции обмена в моем быстром приложении, но у меня проблема. Я использую UIActivityViewController разделить изображение и текст, но только варианты таковы:iOS 8.1 Swift UIActivityViewController не показывает долю в социальных сетях (Facebook, twitter, WhatsApp и т. Д.)

Share options

Я хотел бы варианты Facebook, Twitter и Whatsapp (! И остальные), но я могу Я не понимаю, что я делаю неправильно.

Я также пробовал другие проекты кода/источника, но у меня такая же проблема, однако если я поеду на сафари на устройстве, он предложит отсутствующие параметры социальных сетей на общем листе.

Вот мой код:

func shareTextImageAndURL(#sharingText: String?, sharingImage: UIImage?, sharingURL: NSURL?) { 
    var sharingItems = [AnyObject]() 

    if let text = sharingText { 
     sharingItems.append(text) 
    } 
    if let image = sharingImage { 
     sharingItems.append(image) 
    } 
    if let url = sharingURL { 
     sharingItems.append(url) 
    } 

    let activityViewController = UIActivityViewController(activityItems: sharingItems, applicationActivities: nil) 

    activityViewController.excludedActivityTypes = [UIActivityTypeAirDrop, UIActivityTypeAddToReadingList] 


    if(activityViewController.popoverPresentationController != nil) { 
     activityViewController.popoverPresentationController?.sourceView = self.view; 
     var frame = UIScreen.mainScreen().bounds 
     //   frame.height = frame.height/2 
     var newFrame = CGRect(x: frame.origin.x, y: frame.origin.y, width: frame.width, height: frame.height/2) 
     activityViewController.popoverPresentationController?.sourceRect = frame; 
    } 

    self.presentViewController(activityViewController, animated: true, completion: nil) 
} 

Вызов метода с:

var image = UIImage(named: "icon_messages.png")? 

    shareTextImageAndURL(sharingText: "Hello this is a test", sharingImage: image, sharingURL: NSURL(string: "http://www.example.com/")) 

Моего устройством является iPhone 4s под управлением IOS 8.1.

Вот другой код, который я пытался (к тому же эффекту :)

http://stackoverflow.com/questions/28169192/ios-swift-uiactivityviewcontroller-completion-handler-returns-success-when-tweet 

И этот образец проекта:

ttp://www.dvdowns.com/uiactivityviewcontroller/ 

Кто-нибудь есть какие-либо идеи, что может быть здесь происходит? Спасибо заранее!

+1

Вы вошли в систему с пользователем в одной из социальных сетей? – LoVo

+0

Спасибо за предложение, я вошел в приложение для facebook, но на сафари по-прежнему доступна опция общего доступа к facebook, есть также возможность для Twitter, хотя у меня нет твитера, установленного на моем телефоне. – Gmeister4

+1

Вот учебник, я надеюсь, что это поможет: http://www.codingexplorer.com/sharing-swift-app-uiactivityviewcontroller/ – LoVo

ответ

1

В комментариях dvdowns.com/uiactivityviewcontroller/ у вас есть ответ:

пусть secondActivityItem: NSURL = NSURL (fileURLWithPath: ...

NSURL (fileURLWithPath: "http://www.website.com/") (плохо)

NSURL (строка: «http://www.dvdowns.com/») (хорошо)

Привет !!

0

У меня такая же проблема, и ответ:

Вы, вероятно, не вошли в Facebook или Twitter в настройках устройства. Они не будут отображаться здесь, если пользователь не войдет в систему. Введите ошибку с Apple.

Thanks Marty. Вы можете найти ответ here