I'm developing an app with IBM MobileFirst Platform 7.0 with the last iFix installed (IF201509300707). When the device provisioning is activated (on auto type) and any procedure of an adapter is protected with the corresponding security test, the app on iOS (built with Xcode 7 on iOS 9) crashes on the class CDVCommandQueue.m of the cordova framework on the line:
((void (*)(id, SEL, id))objc_msgSend)(obj, normalSelector, command);
When debugging, this is the info shown:
obj :
normalSelector: "signDeviceAuth:"
command className: DeviceAuth
command methodName: signDeviceAuth
command arguments:
<__NSArrayM 0x13c6a4d80>(
{
app = {
id = App;
version = "1.0";
};
custom = {
};
device = {
environment = iphone;
id = "XXXXXXXXXXXXXXXXXXXXXXXXXX";
model = "iPhone7,2";
os = "9.0.2";
};
token = XXXXXXXXXXXXXXXXXXXXX;
},
application,
1
)
This is the current configuration of the app:
authenticationConfig:
<mobileSecurityTest name="Mobile_SecurityTest">
<testAppAuthenticity />
<testDeviceId provisioningType="auto" />
</mobileSecurityTest>
In the adapter config (adapter.xml):
<procedure name="getTrxID" securityTest="Mobile_SecurityTest"/>
Edited:
I'm not using Extended Authenticity. The BitCode and ATS have been disabled for enabling compilation and service comsumption from the app.
Said that, the app is compiling, installing and consumming other services from the MobileFirst Platform Server (even protected with other security tests).
After installing the iFix, I deleted the native folder contents of the iPhone environment and built it again, but it's still happening.
** Edited 2 **
I'm having this issue again, but in this case, the problem is on the application being distributed "In House" with an Enterprise Apple Developer Account. The same IPA generated with a Standard Developer Apple Developer Account does not present this problem.
This is the first part of the Symbolicated Crash report:
Incident Identifier: 05C8E750-79DF-41C7-8F5E-017AB480CDEC
CrashReporter Key: TODO
Hardware Model: iPhone7,2
Process: MobileApp [428]
Path: /var/mobile/Containers/Bundle/Application/318B039F-DEF5-456E-A1C8-F9888BE513B2/MobileApp.app/MobileApp
Identifier: XXXXXXXXXXXXXXXX
SessionId: AF69E4E7-B585-4CD5-815D-BAA525E07E35
Version: 1.0 (1.0)
Code Type: ARM-64
Parent Process: ??? [1]
Date/Time: 2016-01-20 17:40:06 +0000
OS Version: iPhone OS 9.2 (13C75)
Report Version: 104
Exception Type: SIGSEGV
Exception Codes: SEGV_ACCERR at 0x10
Crashed Thread: 0
Thread 0 Crashed:
0 Security 0x000000018191fd88 SecKeyGetBlockSize + 0
1 MobileApp 0x0000000100185c38 +[WLDeviceAuthManager signDeviceAuth:entity:isPEnabled:] + 1172
2 MobileApp 0x0000000100183f34 -[DeviceAuthPlugin signDeviceAuth:] + 384
3 MobileApp 0x00000001000dcb64 -[CDVCommandQueue execute:] + 504
4 MobileApp 0x00000001000dc878 -[CDVCommandQueue executePending] + 456
5 Foundation 0x0000000181eae44c __NSFireDelayedPerform + 428
6 CoreFoundation 0x00000001814b15f4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
7 CoreFoundation 0x00000001814b1298 __CFRunLoopDoTimer + 884
8 CoreFoundation 0x00000001814ae9ac __CFRunLoopRun + 1520
9 CoreFoundation 0x00000001813dd680 CFRunLoopRunSpecific + 384
10 GraphicsServices 0x00000001828ec088 GSEventRunModal + 180
11 UIKit 0x0000000186254d90 UIApplicationMain + 204
12 MobileApp 0x00000001002cd0c0 main (main.m:14)
13 libdyld.dylib 0x0000000180f7e8b8 start + 4
This is happening on iPhone 6 with iOS 9.2.1, iPhone 6 with iOS 9.1 and iPhone 5 with iOS 9.2 (built with Xcode Version 7.2 (7C68)) with MobileFrist 7.0.0.00.20150930-0707.
Any help is appreciated.