MonkeyKing te ayuda a publicar mensajes SNS en redes sociales chinas, sin sus SDK con errores.
MonkeyKing utiliza el mismo proceso de análisis de openshare. También utilizamos algunas herramientas de ingeniería inversa, como Hopper Disassembler, para revelar varios mecanismos de autenticación no documentados ocultos. Admite compartir texto , URL , imágenes , audio , vídeo y archivos en WeChat , QQ , Alipay o Weibo . MonkeyKing también puede publicar mensajes en Weibo a través de una página web. (Nota: Audio y Video son exclusivos de WeChat o QQ, y File es exclusivo de QQ Dataline)
¡MonkeyKing también admite pagos móviles y OAuth a través de WeChat y Alipay!
Rápido 5, iOS 9
(Para Swift 4.2, use la versión 1.13.0)
(Para Swift 4.1/4.0, use la versión 1.11.0)
(Para Swift 3, use la versión 1.3.0)
Ejemplo: Compartir en WeChat (微信):
En Info.plist
de su proyecto de destino, establezca URL Type
, LSApplicationQueriesSchemes
de la siguiente manera:
También debe agregar weixinULAPI
una vez que haya habilitado el enlace universal de su aplicación WeChat.
Registrar cuenta: // no es necesario hacerlo aquí, pero por comodidad
func application ( _ application : UIApplication , didFinishLaunchingWithOptions launchOptions : [ UIApplicationLaunchOptionsKey : Any ] ? ) -> Bool {
MonkeyKing . regsiterAccount (
. weChat (
appID : " xxx " ,
appKey : " yyy " ,
miniAppID : nil ,
universalLink : nil // FIXME: You have to adopt Universal Link otherwise your app name becomes "Unauthorized App"(未验证应用)...
)
)
return true
}
Agregue el siguiente código para manejar las devoluciones de llamada:
// AppDelegate.swift
func application ( _ app : UIApplication , open url : URL , options : [ UIApplicationOpenURLOptionsKey : Any ] = [ : ] ) -> Bool {
//func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { // only for iOS 8
return MonkeyKing . handleOpenURL ( url )
}
Recuerde manejar userActivities si está utilizando UIScene
en su proyecto:
// SceneDelegate.swift
func scene ( _ scene : UIScene , continue userActivity : NSUserActivity ) {
MonkeyKing . handleOpenUserActivity ( userActivity )
}
Prepara tu mensaje y pídele a MonkeyKing que lo entregue:
@ IBAction func shareURLToWeChatSession ( sender : UIButton ) {
MonkeyKing . registerAccount ( . weChat ( appID : " xxx " , appKey : " yyy " , miniAppID : nil ) ) // you can do it here (just before deliver)
let message = MonkeyKing . Message . weChat ( . session ( info : (
title : " Session " ,
description : " Hello Session " ,
thumbnail : UIImage ( named : " rabbit " ) ,
media : . url ( URL ( string : " http://www.apple.com/cn " ) ! )
) ) )
MonkeyKing . deliver ( message ) { success in
print ( " shareURLToWeChatSession success: ( success ) " )
}
}
¡Ya está!
Ejemplo: Weibo OAuth
MonkeyKing . oauth ( for : . weibo ) { ( oauthInfo , response , error ) -> Void in
print ( " OAuthInfo ( oauthInfo ) error ( error ) " )
// Now, you can use the token to fetch info.
}
o WeChat OAuth solo para código
MonkeyKing . weChatOAuthForCode { [ weak self ] ( code , error ) in
guard let code = code else {
return
}
// TODO: fetch info with code
}
Si el usuario no tiene la aplicación Weibo instalada en sus dispositivos, MonkeyKing utilizará web OAuth:
Ejemplo: Alipay
let order = MonkeyKing . Order . alipay ( urlString : urlString , scheme : nil )
MonkeyKing . deliver ( order ) { result in
print ( " result: ( result ) " )
}
Necesita configurar
pay.php
en un servidor remoto. Puede encontrar un ejemplo depay.php
en el proyecto de demostración.
let path = " ... "
MonkeyKing . launch ( . weChat ( . miniApp ( username : " gh_XXX " , path : path , type : . release ) ) ) { result in
switch result {
case . success :
break
case . failure ( let error ) :
print ( " error: " , error )
}
}
Tenga en cuenta que username
tiene un prefijo gh_
(原始ID).
Si desea utilizar UIActivityViewController
para compartir, MonkeyKing tiene AnyActivity
que puede ayudarlo.
Consulte la demostración para obtener más información.
github "nixzhu/MonkeyKing"
pod 'MonkeyKing'
https://github.com/nixzhu/MonkeyKing
Gracias a todos los contribuyentes.
Logotipos de WeChat de WeChat-Logo de Ray.
MonkeyKing está disponible bajo la licencia MIT. Consulte el archivo de LICENCIA para obtener más información.