将领域与Oracle移动安全套件(OMSS)

时间:2016-09-21 16:11:51

标签: objective-c oracle realm

这是一个简单的基于soap的ios应用程序,用于从Web服务检索信息并使用领域保留它。但是,我们的客户要求使用Oracle移动安全套件(OMSS)来“容纳”它。 Oracle声称它可以在不修改源代码的情况下与任何应用程序一起使用。基本上,它会向应用程序注入一个库,将任何http(s)调用重定向到客户的网关,然后将http(s)调用转发给客户的Intranet。此外,它还会加密ios设备上的任何本地存储。这是Oracle文档的link。无论如何,该应用程序获得了Web服务调用响应,但当它尝试使用领域时,它会挂起。请参阅主线程上的堆栈跟踪:

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib         0x0000000192506f80 read + 8
1   BMSDK.dylib                   0x0000000100a2dce0 0x100998000 + 613600
2   BMSDK.dylib                   0x0000000100a2dba8 0x100998000 + 613288
3   BMSDK.dylib                   0x0000000100a29f34 0x100998000 + 597812
4   Foundation                     0x0000000193f4d168 _NSFileExistsAtPath + 200
5   Foundation                     0x0000000193f7a210 -[NSFileManager fileExistsAtPath:isDirectory:] + 128
6   BMSDK.dylib                   0x0000000100a278f4 0x100998000 + 588020
7   BMSDK.dylib                   0x0000000100a28f44 0x100998000 + 593732
8   OpsAssist                     0x000000010019b2e4 realm::util::File::open_internal(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, realm::util::File::AccessMode, realm::util::File::CreateMode, int, bool*) + 136
9   OpsAssist                     0x0000000100245f00 realm::SharedGroup::do_open(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, realm::SharedGroup::DurabilityLevel, bool, char const*, bool) + 996
10  OpsAssist                     0x000000010018e3f0 realm::SharedGroup::SharedGroup(realm::Replication&, realm::SharedGroup::DurabilityLevel, char const*, bool, std::__1::function<void (int, int)>) (group_shared.hpp:833)
11  OpsAssist                     0x000000010018b738 realm::Realm::open_with_config(realm::Realm::Config const&, std::__1::unique_ptr<realm::Replication, std::__1::default_delete<realm::Replication> >&, std::__1::unique_ptr<realm::SharedGroup, std::__1::default_delete<realm::SharedGroup> >&, std::__1::unique_ptr<realm::Group, std::__1::default_delete<realm::Group> >&, realm::Realm*) (functional:1766)
12  OpsAssist                     0x000000010018b3f4 realm::Realm::Realm(realm::Realm::Config) (memory:2701)
13  OpsAssist                     0x00000001000eec2c std::__1::shared_ptr<realm::Realm> std::__1::shared_ptr<realm::Realm>::make_shared<realm::Realm::Config>(realm::Realm::Config&&) (memory:2185)
14  OpsAssist                     0x00000001000e9c68 realm::_impl::RealmCoordinator::get_realm(realm::Realm::Config) (memory:4013)
15  OpsAssist                     0x000000010018cce4 realm::Realm::get_shared_realm(realm::Realm::Config) (shared_realm.cpp:219)
16  OpsAssist                     0x000000010017be4c +[RLMRealm openSharedRealm:error:] (RLMRealm.mm:250)
17  OpsAssist                     0x000000010017c1fc +[RLMRealm realmWithConfiguration:error:] (RLMRealm.mm:326)
18  OpsAssist                     0x000000010017b570 +[RLMRealm defaultRealm] (RLMRealm.mm:153)
19  OpsAssist                     0x000000010007143c -[BackgroundService deleteOldJobsAndLogs] (BackgroundService.m:45)
20  OpsAssist                     0x00000001000713a8 -[BackgroundService beginBackgroundOperations] (BackgroundService.m:39)
21  OpsAssist                     0x0000000100078f04 -[HomeViewController userLoggedIn] (HomeViewController.m:106)
22  OpsAssist                     0x000000010006b688 -[LoginViewController markAsLoggedIn] (LoginViewController.m:165)
23  UIKit                         0x000000019982fa90 -[UIAlertController _invokeHandlersForAction:] + 100
24  UIKit                         0x000000019983032c __85-[UIAlertController _dismissAnimated:triggeringAction:triggeredByPopoverDimmingView:]_block_invoke.443 + 28
25  UIKit                         0x00000001996e0b9c -[UIPresentationController transitionDidFinish:] + 1324
26  UIKit                         0x00000001996e431c __56-[UIPresentationController runTransitionForCurrentState]_block_invoke_2 + 188
27  UIKit                         0x00000001994bccc4 -[_UIViewControllerTransitionContext completeTransition:] + 116
28  UIKit                         0x00000001993ce214 -[UIViewAnimationBlockDelegate _didEndBlockAnimation:finished:context:] + 492
29  UIKit                         0x00000001993cdd38 -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 312
30  UIKit                         0x00000001993cdb78 -[UIViewAnimationState animationDidStop:finished:] + 160
31  QuartzCore                     0x0000000196857404 CA::Layer::run_animation_callbacks(void*) + 260
32  libdispatch.dylib             0x00000001923dd1c0 _dispatch_client_callout + 16
33  libdispatch.dylib             0x00000001923e1d6c _dispatch_main_queue_callback_4CF + 1000
34  CoreFoundation                 0x0000000193501f2c __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
35  CoreFoundation                 0x00000001934ffb18 __CFRunLoopRun + 1660
36  CoreFoundation                 0x000000019342e048 CFRunLoopRunSpecific + 444
37  GraphicsServices               0x0000000194eb1198 GSEventRunModal + 180
38  UIKit                         0x0000000199400818 -[UIApplication _run] + 684
39  UIKit                         0x00000001993fb550 UIApplicationMain + 208
40  OpsAssist                     0x000000010007598c main (main.m:14)
41  libdyld.dylib                 0x00000001924105b8 start + 4

像往常一样,甲骨文没有帮助。顺便说一句,注入的库是BMSDK.dylib,如堆栈跟踪所示。 我还写了一个小测试应用程序来使用sqlite来验证它是一般的本地存储问题还是仅仅与领域不兼容。 Sqlite碰巧工作。因此,这里存在不兼容问题。只是想看到任何人都有使用OMSS的经验并且有所启发。否则,我必须使用sqlite重写应用程序!

0 个答案:

没有答案