我正在iOS应用中集成W3i Advertiser SDK,但应用程序正在以下行崩溃。
[[W3iAdvertiserSdk sharedConnector] connectWithAppID:W3I_APP_ID];
这是例外:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDictionaryI W3iPublisherJSONRepresentation]: unrecognized selector sent to instance 0xa1d7520'
*** First throw call stack:
(0x29d3012 0x23fae7e 0x2a5e4bd 0x29c2bbc 0x29c294e 0x16af7a 0x3e25 0xcd57b7 0xcd5da7 0xcd6fab 0xce8315 0xce924b 0xcdacf8 0x2903df9 0x2903ad0 0x2948bf5 0x2948962 0x2979bb6 0x2978f44 0x2978e1b 0xcd67da 0xcd865c 0x2d08d 0x26c5)
libc++abi.dylib: terminate called throwing an exception
我搜索了很多,但没有关于w3i集成的网络信息,除了w3i的官方指南外,它的使用。 https://associate.w3i.com/integration/W3i_iOS_Advertiser_SDK_Integration_Guide1.htm
Step1 :从W3i下载SDK
Step2 :将W3iAdvertiserSdk-3.2.0文件夹拖到项目的文件夹中
Step3 添加以下框架的链接(如果尚未存在):
Step4:添加到AppDelegate.m文件,#import“W3iAdvertiserSdk.h”
如果我在上面的Integration之后运行应用程序,那么应用程序运行正常没有任何错误但是当我调用W3iAdvertiser的方法来连接应用程序时,它会抛出我已经在上面发布的异常。
// add this line to application's didFinishLaunchingWithOptions method
[[W3iAdvertiserSdk sharedConnector] connectWithAppID:W3I_APP_ID]; //appId created at w3i
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDictionaryI W3iPublisherJSONRepresentation]: unrecognized selector sent to instance 0xa1d7520'
*** First throw call stack:
(0x29d3012 0x23fae7e 0x2a5e4bd 0x29c2bbc 0x29c294e 0x16af7a 0x3e25 0xcd57b7 0xcd5da7 0xcd6fab 0xce8315 0xce924b 0xcdacf8 0x2903df9 0x2903ad0 0x2948bf5 0x2948962 0x2979bb6 0x2978f44 0x2978e1b 0xcd67da 0xcd865c 0x2d08d 0x26c5)
libc++abi.dylib: terminate called throwing an exception
任何人都可以指导我在哪里出错,如何使用SDK的功能将应用程序与w3i连接,通过w3i宣传我们的应用程序?
答案 0 :(得分:2)
您还需要执行此步骤:
答案 1 :(得分:0)
将应用程序与w3i连接有两种方法:
选项1:集成W3i-iOS-SDK,并将其称为" connectWithAppId"在申请开始时。
选项2:致电W3i" appWasRun"申请开始时的API
第一个选项对我没用,但Option2非常简单,工作正常。
这是API的格式及其参数:
http://api.w3i.com/PublicServices/MobileTrackingApiRestV1.svc/AppWasRun?AppId={APPID}&clientIp={CLIENTIP}&iOSIDFA={advertisingIdentifier}&iOSUDID={IOSUDID}&iOSOpenUDID={IOSOpenUDID}&iOSMD5WLANMAC={iOSMD5WLANMAC}&iOSSha1HashedMac={iOSSha1HashedMac}
请求类型:GET
必需参数:APPID(由W3I生成)和至少一个标识符(W3i首选所有参数)
我只使用了OpenUDID并且工作正常。
http://api.w3i.com/PublicServices/MobileTrackingApiRestV1.svc/AppWasRun?AppId=W3i_APP_ID&iOSOpenUDID=OPEN_UDID
有关详细信息,请查看以下链接。
https://sites.google.com/site/w3ideveloperscom/ios/iOSAFPP/advapi
https://associate.w3i.com/integration/Device_Identifiers.htm
希望将来能帮助别人:)