1.首先在友盟平台添加新應用中,申請一個新應用,然后得到一個appkey.
2.下載ios平台的sdk文件,將以下兩個文件拖入工程中。
(1)libMobClickLibrary.a
(2)MobClick.h
3.添加類庫:
TARGETS-->Build Phases-->Link Binary With Libraries--> + -->libz.dylib (Xcode7請選擇libz.tbd)
如過使用cocopod添加,可用:(pod 'UMengAnalytics')。
4.實現相關方法:
#import <Foundation/Foundation.h> @interface StateCollect : NSObject + (void)setup; + (void)intoPage:(NSString *)pageName; + (void)outPage:(NSString *)pageName; + (void)event:(NSString *)event value:(NSString *)value; @end
#import "StateCollect.h" #import "MobClick.h" #define ChannelEnterprise @"Enterprise" @implementation StateCollect #define UMengKey @"" + (void)setup { NSString *chanel = ChannelEnterprise; #ifdef APPSTORE chanel = ChannelAppStore; #endif [MobClick startWithAppkey:UMengKey reportPolicy:REALTIME channelId:chanel]; } + (void)intoPage:(NSString *)pageName { [MobClick beginLogPageView:pageName]; } + (void)outPage:(NSString *)pageName { [MobClick endLogPageView:pageName]; } + (void)event:(NSString *)event value:(NSString *)value { [MobClick event:event label:value]; }
5.在appdelegate中建立鏈接:
[StateCollect setup];
注:StateCollect為我建立的NSObject頁面
6.在統計界面加入調用統計的方法:
-(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [StateCollect intoPage:NSStringFromClass([self class])]; } -(void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [StateCollect outPage:NSStringFromClass([self class])]; }
7.如果你在友盟的我的應用程序中,添加了相關事件的統計,可調用這個方法來進行統計:
[StateCollect event:@"Login" value:NSStringFromClass([self class])];
注:Login為我在設置的相關事件。
8.如果你是第一次使用友盟,那你需要在:我的產品->設置->應用信息中,開啟使用:

完成以上設置后,運行程序,發現以下錯誤:
"_compress2", referenced from: +[UMANUtil deflatedDataPrefixedWith:level:source:] in libMobClickLibrary.a(UMANUtil.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

可以通過設置Other Linker Flag的值未-lz來解決。

類似的其他
"_compress2", referenced from:
"_inflateReset", referenced from:
"_inflateInit_", referenced from:
"_inflateEnd", referenced from:
"_inflateInit2_", referenced from:
均可以通過-lz來解決。
-lz 會讓你的程序在編譯的時候against the built-in zlib,從而解決問題
