我已经下载了最新版本的googles admob sdk.但是现在我在使用最新的sdk编译xcode 4.5时会遇到以下错误.
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_ASIdentifierManager", referenced from:
objc-class-ref in libGoogleAdMobAds.a(GADIdentifierUtilities.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
什么可能是错的?
我需要打开一个NSSavePanel与用户库文件夹作为目标文件夹.通常我会通过输入做到这一点~/Library/在[NSSavePanel beginSheetForDirectory].
只要应用程序没有沙箱,这样就可以正常工作.对于沙盒应用程序,这将导致NSSavePanel尝试访问应用程序文档"框"内的文件夹.
我不能参考,/Users/username/Library/因为我不知道username运行时的用户.那么如何在可可中链接到这条路径呢?
我们使用testflight.com sdk和flurry.com sdk来跟踪未处理的异常.问题是在我们添加testflight.com sdk之后,没有异常被flurry选中.
发生未处理的异常时触发的方法如下所示:
void uncaughtExceptionHandler(NSException *exception)
{
[FlurryAnalytics logError:@"ERROR_NAME" message:@"ERROR_MESSAGE" exception:exception];
}
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
#if !TARGET_IPHONE_SIMULATOR
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
struct sigaction newSignalAction;
memset(&newSignalAction, 0, sizeof(newSignalAction));
newSignalAction.sa_handler = &signalHandler;
sigaction(SIGABRT, &newSignalAction, NULL);
sigaction(SIGILL, &newSignalAction, NULL);
sigaction(SIGBUS, &newSignalAction, NULL);
[FlurryAnalytics startSession:kFlurryKey];
[TestFlight takeOff:kTestflightKey];
[[UIApplication sharedApplication]
registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound |
UIRemoteNotificationTypeAlert)];
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
#endif
.
.
.
Run Code Online (Sandbox Code Playgroud)
我不确定testflight.com是如何做到的,但似乎他们拦截异常并为自己注册数据而不让注册的方法运行?
有没有办法让这两者共存?
我正在构建一个 API 网关,它的端点以 DateTime 值作为参数。它使用 Refit 将此查询转发到底层微服务。
我的问题是,当构建微服务查询的 URL 时,DateTime 值失去了精度。
有没有办法将 Refit 配置为在构建 URL 时使用自定义 DateTime 序列化程序?
微服务端点定义如下:
[Get("/client-sales")]
Task<ClientSaleCollectionR12n> SearchClientSales([Header("Authorization")] string authorization,
DateTime? completedAfter = null,
DateTime? completedBefore = null);
Run Code Online (Sandbox Code Playgroud)
发送到网关的查询:
GET /client-sales?completedAfter=2020-03-20T14:54:26.786&completedBefore=2020-03-21T15:16:33.212
Run Code Online (Sandbox Code Playgroud)
转发到底层微服务时就变成这样:
GET /client-sales?completedAfter=03%2F20%2F2020%2014%3A54%3A26&completedBefore=03%2F21%2F2020%2015%3A16%3A33
Run Code Online (Sandbox Code Playgroud) ios ×2
admob ×1
asp.net-core ×1
c# ×1
cocoa ×1
flurry ×1
ios6 ×1
iphone ×1
macos ×1
nssavepanel ×1
refit ×1
sandbox ×1
testflight ×1
xcode ×1