MonkeyKing hilft Ihnen, SNS-Nachrichten in chinesischen sozialen Netzwerken zu posten, ohne deren fehlerhafte SDKs.
MonkeyKing verwendet den gleichen Analyseprozess wie Openshare. Wir verwenden auch einige Reverse-Engineering-Tools wie Hopper Disassembler, um mehrere undokumentierte Authentifizierungsmechanismen unter der Haube zu enthüllen. Es unterstützt die Weitergabe von Text , URL , Bild , Audio , Video und Datei an WeChat , QQ , Alipay oder Weibo . MonkeyKing kann auch über eine Webseite Nachrichten an Weibo posten. (Hinweis: Audio und Video sind exklusiv für WeChat oder QQ und Datei exklusiv für QQ Dataline)
MonkeyKing unterstützt auch OAuth und mobiles Bezahlen über WeChat und Alipay!
Swift 5, iOS 9
(Für Swift 4.2 verwenden Sie Version 1.13.0)
(Für Swift 4.1/4.0 verwenden Sie Version 1.11.0)
(Für Swift 3 verwenden Sie Version 1.3.0)
Beispiel: Auf WeChat teilen (微信):
Legen Sie in Info.plist
Ihres Projektziels URL Type
und LSApplicationQueriesSchemes
wie folgt fest:
Sie sollten auch weixinULAPI
hinzufügen, sobald Sie Universal Link Ihrer WeChat-App aktiviert haben.
Konto registrieren: // Es ist nicht notwendig, dies hier zu tun, aber der Einfachheit halber
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
}
Hängen Sie den folgenden Code an, um Rückrufe zu verarbeiten:
// 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 )
}
Denken Sie daran, userActivities zu behandeln, wenn Sie UIScene
in Ihrem Projekt verwenden:
// SceneDelegate.swift
func scene ( _ scene : UIScene , continue userActivity : NSUserActivity ) {
MonkeyKing . handleOpenUserActivity ( userActivity )
}
Bereiten Sie Ihre Nachricht vor und bitten Sie MonkeyKing, sie zu übermitteln:
@ 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 ) " )
}
}
Es ist geschafft!
Beispiel: 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.
}
oder WeChat OAuth nur für Code
MonkeyKing . weChatOAuthForCode { [ weak self ] ( code , error ) in
guard let code = code else {
return
}
// TODO: fetch info with code
}
Wenn der Benutzer keine Weibo-App auf seinen Geräten installiert hat, verwendet MonkeyKing Web-OAuth:
Beispiel: Alipay
let order = MonkeyKing . Order . alipay ( urlString : urlString , scheme : nil )
MonkeyKing . deliver ( order ) { result in
print ( " result: ( result ) " )
}
Sie müssen
pay.php
auf einem Remote-Server konfigurieren. Ein Beispiel fürpay.php
finden Sie im Demo-Projekt.
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 )
}
}
Beachten Sie, dass username
ein gh_
Präfix (原始ID) hat.
Wenn Sie UIActivityViewController
zum Teilen verwenden möchten, bietet MonkeyKing AnyActivity
, das Ihnen helfen kann.
Weitere Informationen finden Sie in der Demo.
github "nixzhu/MonkeyKing"
pod 'MonkeyKing'
https://github.com/nixzhu/MonkeyKing
Vielen Dank an alle Mitwirkenden.
WeChat-Logos von WeChat-Logo von Ray.
MonkeyKing ist unter der MIT-Lizenz erhältlich. Weitere Informationen finden Sie in der LICENSE-Datei.