OpenIM-Dokumente • OpenIM-Server • openim-sdk-ios • openim-sdk-core
OpenIM iOS Demo ist eine Reihe von UI-Komponenten, die auf Basis des Open-IM SDK implementiert sind und Funktionen wie Konversation, Chat, Beziehungskette, Gruppe usw. umfassen. Basierend auf UI-Komponenten können Sie schnell Ihre eigene Geschäftslogik erstellen.
Anforderungen an die Entwicklungsumgebung
Xcode 15 und höher
Das Mindestbereitstellungsziel ist iOS 13.0.
Git-Klon:
https :/ / github . com / OpenIMSDK / Open - IM - iOS - Demo . git
Führen Sie den folgenden Befehl auf dem Terminal aus, um die abhängige Bibliothek zu installieren.
cd Open - IM - iOS - Demo / Example
pod install
Wenn die Installation fehlschlägt, führen Sie den folgenden Befehl aus, um die lokale CocoaPods-Warehouse-Liste zu aktualisieren.
pod repo update
Kompilieren und ausführen: Geben Sie den Ordner Open-IM-iOS-Demo/Example ein, öffnen Sie OpenIMSDKUIKit.xcworkspace zum Kompilieren und Ausführen.
Erleben Sie Ihren eigenen Server 6.1 Wenn Sie OpenIM Server selbst bereitstellen, können Sie den Server in der Datei AppDelegate.swift ändern. Die Adresse ist die von Ihnen selbst erstellte Serveradresse.
6.2 Klicken Sie nach dem Herunterladen der App auf der Seite [Anmelden] auf „Willkommen bei OpenIM“, um die Einstellungsseite aufzurufen, relevante Einstellungen vorzunehmen, zu speichern und zur Verwendung neu zu starten.
Beginnen Sie mit der Entwicklung! ?
Häufig verwendete Chat-Software besteht aus mehreren grundlegenden Schnittstellen wie Sitzungsliste, Chat-Fenster, Freundesliste, Audio- und Videoanrufen usw. Beachten Sie die folgenden Schritte. Sie benötigen nur wenige Codezeilen, um diese UI-Schnittstellen schnell zu erstellen Projekt.
Schritt 1: Ändern Sie Ihre eigene Server-IP-Adresse:
AppDelegate.swift
// Default IP address to be used
let defaultHost = "" ; // Replace with the desired host
Schritt 2: Anmelden
- Melden Sie sich bei Ihrem eigenen Unternehmensserver an, um Benutzer-ID und Token zu erhalten.
- Verwenden Sie 1., um die Benutzer-ID und das Token für die Anmeldung beim IM-Server abzurufen.
// 1 : Log in to your own business server to obtain userID and token ;
static func loginDemo ( phone : String , pwd : String , completionHandler : @escaping ( ( _ errMsg : String? ) -> Void ) ) {
let body = JsonTool . toJson ( fromObject : Request . init ( phoneNumber : phone , pwd : pwd ) ) . data ( using : . utf8 )
var req = try! URLRequest . init ( url : "your login api" , method : . post )
req . httpBody = body
Alamofire . request ( req ) . responseString { ( response : DataResponse < String > ) in
switch response . result {
case . success ( let result ) :
if let res = JsonTool . fromJson ( result , toClass : Response . self ) {
if res . errCode == 0 {
completionHandler ( nil )
// log in to the IM server
loginIM ( uid : res . data . userID , token : res . data . token , completionHandler : completionHandler )
} else {
completionHandler ( res . errMsg )
}
} else {
let err = JsonTool . fromJson ( result , toClass : DemoError . self )
completionHandler ( err? . errMsg )
}
case . failure ( let err ) :
completionHandler ( err . localizedDescription )
}
}
}
static func loginIM ( uid : String , token : String , completionHandler : @escaping ( ( _ errMsg : String? ) -> Void ) ) {
IMController . shared . login ( uid : uid , token : token ) { resp in
print ( "login onSuccess ( String(describing: resp))" )
completionHandler ( nil )
} onFail : { ( code : Int , msg : String? ) in
let reason = "login onFail: code ( code), reason ( String(describing: msg))"
completionHandler ( reason )
}
}
Schritt 3: Konversationsliste, Chatfenster, Adressbuchoberfläche und Einstellungen erstellen:
// session list
let chat = ChatListViewController ( )
// chat window
let message = MessageListViewController ( )
// address book
let contactVC = ContactsViewController ( )
// set up
let mineNav = MineViewController ( )
Wir möchten, dass sich jeder an unserer Community beteiligt und Code beisteuert. Wir bieten Geschenke und Belohnungen an und heißen Sie jeden Donnerstagabend herzlich willkommen.
Unsere Konferenz findet im OpenIM Slack statt, dann können Sie die Open-IM-Server-Pipeline durchsuchen, um daran teilzunehmen
Wir machen Notizen zu jedem zweiwöchentlichen Treffen in GitHub-Diskussionen. Unsere historischen Besprechungsnotizen sowie Wiederholungen der Treffen sind bei Google Docs verfügbar?
Auf unserer Seite mit Benutzerfallstudien finden Sie eine Liste der Projektbenutzer. Zögern Sie nicht, einen Kommentar zu hinterlassen und Ihren Anwendungsfall zu teilen.
Dieses Repository ist unter der GNU Affero General Public License Version 3 (AGPL-3.0) lizenziert und unterliegt den folgenden zusätzlichen Bedingungen. Weitere Informationen finden Sie hier.