react-native-netease-im icon indicating copy to clipboard operation
react-native-netease-im copied to clipboard

iOS按照下面流程走,就能成功安装

Open prestonlanetz opened this issue 8 years ago • 0 comments

3.工程配置 在ios文件夹下新建Podfile文件

platform :ios, '8.0' target ‘工程名称’ do pod 'NIMSDK' pod 'SSZipArchive', '~> 1.2' pod 'Reachability', '~> 3.1.1' pod 'CocoaLumberjack', '~> 2.0.0-rc2' pod 'FMDB', '~>2.5' end

在IOS目录中执行命令 pod install

打开.xcworkspace文件,在target的Build Phases->Link Binary with Libraries中加入、libsqlite3.tbd、libc++、libz.tbd、CoreTelephony.framework

4.在你工程的AppDelegate.m文件中添加如下代码:

//在import头文件中加入下列两行

#import <NIMSDK/NIMSDK.h> #import "NTESSDKConfigDelegate.h"

//import语句结束后,加入下列语句 @interface AppDelegate () @property (nonatomic,strong) NTESSDKConfigDelegate *sdkConfigDelegate; @end

//找到下面的函数,在return YES 前添加[self setupNIMSDK] [self registerAPNs]

@implementation AppDelegate

  • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //上面有原其他代码,在return YES 命令前面写 [self setupNIMSDK]; [self registerAPNs];

return YES; }

//在@end 前添加下面函数

  • (void)setupNIMSDK { //在注册 NIMSDK appKey 之前先进行配置信息的注册,如是否使用新路径,是否要忽略某些通知,是否需要多端同步未读数 self.sdkConfigDelegate = [[NTESSDKConfigDelegate alloc] init]; [[NIMSDKConfig sharedConfig] setDelegate:self.sdkConfigDelegate]; [[NIMSDKConfig sharedConfig] setShouldSyncUnreadCount:YES]; //appkey 是应用的标识,不同应用之间的数据(用户、消息、群组等)是完全隔离的。 //注册APP,请将 NIMSDKAppKey 换成您自己申请的App Key [[NIMSDK sharedSDK] registerWithAppID:@"appkey" cerName:@"证书名称"]; }

#pragma mark - misc

  • (void)registerAPNs { [[UIApplication sharedApplication] registerForRemoteNotifications]; UIUserNotificationType types = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert; UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:types categories:nil]; [[UIApplication sharedApplication] registerUserNotificationSettings:settings]; }

  • (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { [[NIMSDK sharedSDK] updateApnsToken:deviceToken]; }

  • (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{ NSLog(@"receive remote notification: %@", userInfo); }

  • (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)error { NSLog(@"fail to get apns token :%@",error); }

  • (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { return [RCTLinkingManager application:application openURL:url sourceApplication:sourceApplication annotation:annotation]; }

//@end 如果运行时,最后一个函数报错,可以直接删该函数 @end

clean xcode

prestonlanetz avatar Aug 12 '17 11:08 prestonlanetz