TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Apr 2016 |
SPMSupports SPM | ✗ |
Maintained by Vladimir Goncharov.
В каждом новом проекте постоянно приходится снова и снова подключать необходимые SDK, копировать из старого проекта/писать тот же код для авторизации или выхода из соц. сети или выполнение необходимых действий. И как правило вся логика не унифицирована и в разных проектах отличается друг от друга. Эта библиотека была реализована для решения этих проблем, где нам не приходится думать, как работает конкретная соц. сеть - мы просто оперируем всеми, как одной.
Для создания соц. сети мы должны реализовать протокол SocialNetwork
. ВНИМАНИЕ! Все соц. сети должны быть реализованы как Singleton.
static var name: String
соц. сеть должна себя уникально идентифицировать. static var isAuthorized: Bool
должен вернуть Bool значение, есть ли авторизованный пользователь в данный момент. Данная библиотека рассчитана на работу только с одним авторизованным пользователем. static func authorization(completion: ...)
должен описать процесс авторизации и в случае провала, вернуть ошибку. static func logout(completion: ...)
должен удалять локальные данные о текущем пользователя на устройстве.SocialNetwork
расширяет протокол Equatable
и сравнивается через уникальное свойство name
.
Все операции должны наследоваться от абстрактного класса SocialOperation
, которая должна контролировать текущее состояние переменной private(set) var state
, где в случае успеха должен сохраниться private(set) var result
, и если произошла ошибка - private(set) var error
. Эти состояния не могут быть установлены на прямую, а должны устанавливаться через методы:
setSendingState()
- если операция запустилась и еще в процессе работы setSuccessedState(result: AnyObject?)
- если операция завершилось с успехом и желательно сохранить результат setFailedState(error: NSError?)
- если произошла какая-то ошибка.PostToWallAction
протоколВ SocialActions.swift
добавляются все возможные действия, которые может делать соц. сеть. К примеру, протокол PostToWallAction
говорит, что соц. сеть поддерживает возможность добавления на стену/ленту пользователя записи, где данные должны поддерживать протокол SocialData
.
Если есть соц. сеть может работать в каком-то из методов с картинками, желательно использовать для этого SocialImage
. В ней мы сохраняем картинку и блок с сериализацией для её отправки.
Пошаговая инструкция для подключения:
Для подключения facebook необходимо добавить podspecs
#facebook SDK
pod 'Facebook-iOS-SDK'
Setting
-> Basic
добавить нужный Contact Email
, затем в вкладке iOS Bundle ID
добавить для staging и production.Roles
добавляем администраторов и разработчиковНАСТРОЙКА LOGIN PERMISSIONS:
protocol PostToWallAction
, то вам нужно иметь подтвержденный publish_actions
(неподтвержденный будет работать только для пользователей, присутствующих в Roles
). Инструкция.ДОСТУП ПРИЛОЖЕНИЯ ДЛЯ ВСЕХ ПОЛЬЗОВАТЕЛЕЙ:
Status & Review
-> Status
-> Напротив иконки с вашим приложением переключаем switcher в ON
. Для остальных пользователей будут доступны только подтвержденные permissions!
Пошаговая инструкция для подключения через Fabric:
+ New App
-> выберите ваш проект -> выберите вашу новую организацию -> напротив Twitter нажмите Install и следуйте инструкциям по интеграции Fabric, если еще не установлена. Для Twitter нужно выбрать опцию Embedded Tweets
.Пошаговая инструкция для подключения через Twitter.com:
Для подключения twitter необходимо подключить podspecs
#twitter SDK
pod 'TwitterKit'
pod 'TwitterCore'
pod 'twitter-text'
Create New App
. Вводим Name
, Description
, Website
и Callback URL
обязательно. Если не знаете, что можно добавить для Website
и Callback URL
, то просто вставьте http://www.placeholder.com. Теперь создаем приложение.Permissions
проверяем, чтобы Access
был Read and Write
Application Settings
копируем Consumer Key (API Key)
и Consumer Secret (API Secret)
ДОСТУП ПРИЛОЖЕНИЯ ДЛЯ ВСЕХ ПОЛЬЗОВАТЕЛЕЙ:
Это приложение уже доступно для всех пользователей.
Пошаговая инструкция для подключения:
Для подключения Google Sign-In необходимо подключить podspecs
#google SDK
pod 'Google/SignIn'
Настроить приложение, как описано в документации.
ДОСТУП ПРИЛОЖЕНИЯ ДЛЯ ВСЕХ ПОЛЬЗОВАТЕЛЕЙ:
Это приложение уже доступно для всех пользователей.
Пошаговая инструкция для подключения:
Для подключения vk необходимо подключить podspecs
#vk SDK
pod 'VK-ios-sdk'
Заходим на https://vk.com/dev и нажимаем Мои приложения
-> Создать приложение
. Выбираем Standalone-приложение
и пишем необходимое Название
. Нажимаем Подключить приложение
.
Настройки
и добавляем App Bundle ID для iOS
и сохраняем. Можно добавить только один bundle, поэтому нужно использовать сразу с App Store bundli ID.Руководство
и добавляем администраторовДОСТУП ПРИЛОЖЕНИЯ ДЛЯ ВСЕХ ПОЛЬЗОВАТЕЛЕЙ:
Настройки
-> Состояние
и выбираем из списка Приложение включено и видно всем
Пошаговая инструкция для подключения:
Для подключения Pinterest необходимо подключить podspecs
#pinterest SDK
pod 'PinterestSDK', :git => 'https://github.com/pinterest/ios-pdk.git'
Настроить приложение, как описано в документации.
ДОСТУП ПРИЛОЖЕНИЯ ДЛЯ ВСЕХ ПОЛЬЗОВАТЕЛЕЙ: