[iOS] SwiftShare Bubbles에서 공유 SNS 가이드라인 만들기

3098 단어 XcodeSwiftiOS

TL;DR


SwiftShareBubbles 이 글은 SNS의 점유율과 사파리의 가이드라인을 간단하게 도입한 라이브러리를 만들었기 때문에 사용하시기 바랍니다.

SwiftShareBubbles


사용 방법


Cocoapods 또는 Carthage에 설치합니다.

Cocoapods

pod 'SwiftShareBubbles'

Carthage

github "takecian/SwiftShareBubbles"
공유하려는 ViewController의viewDidLoad에서 설정합니다.
class ViewController: UIViewController, SwiftShareBubblesDelegate {

    var bubbles: SwiftShareBubbles?

    override func viewDidLoad() {
        super.viewDidLoad()
        bubbles = SwiftShareBubbles(point: CGPoint(x: view.frame.width / 2, y: view.frame.height / 2), radius: 100, in: view)
        bubbles?.showBubbleTypes = [Bubble.twitter, Bubble.line, Bubble.safari]
        bubbles?.delegate = self
    }

예를 들어 트위터, LINE, Safari의 Bubble(가이드라인)을 준비했습니다.
페이스북과 유튜브의 버블도 추가할 수 있다.지원하는 Bubble를 모두 추가하면 이런 느낌이 듭니다.

라디오를 확대하지 않으면 들어갈 수 없어요.
그리고 버블을 선택할 때의 방법을 실현한다.
// SwiftShareBubblesDelegate
    func bubblesTapped(bubbles: SwiftShareBubbles, bubbleId: Int) {
        if let bubble = Bubble(rawValue: bubbleId) {
            print("\(bubble)")
            switch bubble {
            case .safari:
                UIApplication.shared.openURL(URL(string: "SOME_URL"))
            case .twitter:
                if SLComposeViewController.isAvailable(forServiceType: SLServiceTypeTwitter) {
                    guard let composer = SLComposeViewController(forServiceType: SLServiceTypeTwitter) else { return }
                    composer.setInitialText("test test")
                    present(composer, animated: true, completion: nil)
                }
                break
            case .line:
                // TODO
                break
            default:
                break
            }
        } else {
            // custom case
        }
    }
간단하네.

자체 제작 버블 사용하기


라이브러리에 준비된 Bubble뿐만 아니라 자체 제작한 Bubble도 사용할 수 있습니다.
ShareAttirbute를 사용하여 Bubble를 만들고 이를 customBubbleAttribute로 설정하면 됩니다.
let customBubbleId = 100

    override func viewDidLoad() {
        super.viewDidLoad()
        ...
        let customAttribute = ShareAttirbute(bubbleId: customBubbleId, icon: UIImage(named: "Custom")!, backgroundColor: UIColor.white)
        bubbles?.customBubbleAttributes = [customAttribute]
        ...
    }
SNS에서 확산되고 앱의 인지도를 넓히는 것이 중요하니 SwiftShareBubbles로 공유해보는 건 어떨까.
SwiftShareBubbles

좋은 웹페이지 즐겨찾기