Skip to content

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

@prestonlanetz

Description

@prestonlanetz

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions