My macOS app get crashed after notarised by Apple.
I designed the app using Network Extension API to communicate with a tunnel to the server.
While code signing to the binary no errors prints out. after then I try to upload it to app store to notarise the app. the result is no problem.
And I try to run it, nothing happened. I just got a crash report as below. Please Help...
Process: AAA [5975]
Path: /Users/USER/Desktop/*/AAA.app/Contents/MacOS/AAA
Identifier: com.
Version: ???
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: AAA [5975]
User ID: 501
Date/Time: 2020-07-14 12:49:06.985 +0900
OS Version: Mac OS X 10.15.5 (19F101)
Report Version: 12
Anonymous UUID: 9657845C-45E9-8791-B233-B75BDBF0097A
Time Awake Since Boot: 19000 seconds
System Integrity Protection: enabled
Crashed Thread: 0
Exception Type: EXCCRASH (Code Signature Invalid)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXCCORPSENOTIFY
Termination Reason: Namespace CODESIGNING, Code 0x1
kernel messages:
VM Regions Near 0 (cr2):->
TEXT 0000000109e7c000-0000000109edd000 [ 388K] r-x/r-x SM=COW
Thread 0 Crashed:
0 ??? 0x0000000110197000 dyldstart + 0
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x0000000000000000 rcx: 0x0000000000000000 rdx: 0x0000000000000000
rdi: 0x0000000000000000 rsi: 0x0000000000000000 rbp: 0x0000000000000000 rsp: 0x00007ffee5d83ba0
r8: 0x0000000000000000 r9: 0x0000000000000000 r10: 0x0000000000000000 r11: 0x0000000000000000
r12: 0x0000000000000000 r13: 0x0000000000000000 r14: 0x0000000000000000 r15: 0x0000000000000000
rip: 0x0000000110197000 rfl: 0x0000000000000200 cr2: 0x0000000000000000
Logical CPU: 0
Error Code: 0x00000000
Trap Number: 0
Binary Images:
0x109e7c000 - 0x109edcfff +??? (0) <DEE3EA2E-BA72-3902-9761-F38CCF1AD2D6> (null)
0x110196000 - 0x110227eff +??? (750.5) <E4698FBD-806A-3396-B279-E685BA37430B> (null)
External Modification Summary:
Calls made by other processes targeting this process:
taskforpid: 0
threadcreate: 0
threadsetstate: 0
Calls made by this process:
taskforpid: 0
threadcreate: 0
threadsetstate: 0
Calls made by all processes on this machine:
taskforpid: 10590
threadcreate: 0
threadsetstate: 0
VM Region Summary:
ReadOnly portion of Libraries: Total=1264K resident=0K(0%) swappedoutorunallocated=1264K(100%)
Writable regions: Total=8408K written=0K(0%) resident=0K(0%) swappedout=0K(0%) unallocated=8408K(100%)
VIRTUAL REGION
REGION TYPE SIZE COUNT (non-coalesced)
=========== ======= =======
STACK GUARD 56.0M 1
Stack 8192K 1
_DATA 340K 4
DATACONST 32K 2
_LINKEDIT 292K 2
_TEXT 972K 2
shared memory 8K 2
=========== ======= =======
TOTAL 65.6M 14
Post
Replies
Boosts
Views
Activity
I try to distribute a app with "Developer ID" that contains Network Extension wraps inside System Extension.
It so difficult to debug and it only what can i do is just monitoring what's going on inside app with "Console.app".
My app got notarized by apple and it can launch normally But I got error message as below...
System Extension validation failed: Error Domain=NetworkExtensionErrorDomain Code=6 "System extension com.abc.macos.AAA has an invalid NEMachServiceName key in its Info.plist: The value of the NEMachServiceName key must be prefixed with one of the App Groups in the com.apple.security.application-groups entitlement." UserInfo={NSLocalizedDescription=System extension com.abc.macos.AAA has an invalid NEMachServiceName key in its Info.plist: The value of the NEMachServiceName key must be prefixed with one of the App Groups in the com.apple.security.application-groups entitlement.}
I have no idea how to decide the value of NEMachServiceName
I already tried to use the name as below but no effect.
$(TeamIdentifierPrefix)com.abc.macos.AAA.xpc
Please Help
My APP contains a Unix Domain Socket inside the Network Extension that is for communication between UI and Network Extension .
It had been made a connection between UI and Network Extension within App Extension. But after the Network Extension moved to System Extension, It can't make the connection anymore.
Because every directories are made by NSFileManager under /var/root/
So, The client socket that in UI Process could not made a connection to the socket server inside System Extension ( include Network Extension )
I try to debug with XCode but it doesn't work. I already turned off the SIP. And set systemextensionctrl developer on
But it doesn't help.
Is there a way to debug System Extension with XCode?
Hello, everyone ~~
I am developing an App with Network Extension which runs in App Extension. When execute the app and it made a tunnel connection to the server. Routing Table is correct. Send a PING to my server through the tunnel, It works fine.
After then, I try to distribute (Notarized) my APP with "Developer ID" and TEST it on my Dev iMac, But It didn't work. (In this time, I didn't move the Network Extension from App Extension to System Extension)
Because, The developer Try to distribute an app offline who has to move the Network Extension from App Extension to System Extension.
Finally I got the right CODESIGN to the APP and notarized by Apple.
thank you	eskimo
My App is working, I got my System Extension which appears in the list who was typing the command as below in the "Terminal.app"
$ systemextensionctrl list
And I saw the System Extension process also appears in "Activity Monitor.app"
After then, I send a PING to my server. It seems to the server got the ICMP request packets and response to the App. At App side(Client Side), real NIC interface (eth0) seems to got the packets but those packets was not read by my program which is running inside Network Extension.
And uTun virtual interface also are not seems to got any packets. I watched those behaviors by "Wireshark".
I assumed that may be CODESIGN caused those problems. So, I unchecked those options in "Hardened Runtime" as below. But It doesn't works.
Allow Unsigned Executable Memory
Disable Library Validation
Disable Executable Memory protection
Has anyone succeed to distribute the app with Network Extension offline? And It works normally?
What's problem with Routing Table? (May be Routing Table is not the suspect)
If no one has been distributed the app with Network Extension which runs in System Extension. It's a kind of disaster to me.
If so, I have to report this issue to my boss with an evidence why It's impossible to distribute offline.
And then I have to change entire program process without Network Extension.
If someone knows the reason, please tell me.
Help!!!!
As title, I try to call CFSocketCreateRunLoopSource() function to add my CFSocket to the Run Loop. It added successfully in App Extension. But, In System extensions it did not.
CFSocketCreateRunLoopSource(_,_,_)
It does not return any results. There is no way to check that it get called successfully or not. So, I use CFRunLoopRunInMode(_,_,_)
to check that if a source added successfully the status of Run Loop' status is must not Finish. But it aways return Finish.
What's happening? I can't find any documentation about that Run Loop in System Extension.
Can anybody help me. Tell me what's happening?
Thank You.
I try to use Darwin Notification Center to pass data. But userInfo
was ignored.
I already to try to use
CFNotificationCenterGetDistributedCenter()
It can't communicate between System Extension and APP
As the title the enterprise app installation on some iPhone getting weird installation behaviors. (Or there are some things that I didn't understand.)
iPhone 6s Plus , iOS 14.2 with LTE or WIFI try to install same app is OK.
iPhone 11 Pro, iOS 14.2 with LTE try to install same app is not Good. The enterprise app installation only with WIFI can be completed.
I need an explanation.
Until iOS 14.4, My Enterprise App can be download and installed normally. But after a iPhone that upgrade to 14.5 or later, It can't install the Enterprise App.
The Error Message like this
Unable To Install
"My APP"
Please try again later.
And underlying error in console like this:
default 13:04:44.961180+0900 installd Failed to retrieve the IO service matching the device node for <private>.
default 13:04:44.961802+0900 installd Failed to retrieve the IO service matching the device node for <private>.
default 13:04:44.962209+0900 installd +[DIAttachedDeviceInfo copyImageURLFromDevice:error:]: <~~~>
default 13:04:44.962342+0900 installd +[DIAttachedDeviceInfo copyImageURLFromDevice:error:]: <~~~>
default 13:04:44.963551+0900 installcoordinationd -[IXSClientConnection _remote_prioritizeCoordinatorForAppWithBundleID:completion:]: No coordinator found for <My app bundle id> and app is not vendable by App Store or is a hard error (1) so showing alert.
default 13:04:44.963618+0900 installcoordinationd -[IXSErrorPresenter presentErrorForBundleIDs:code:underlyingError:errorSource:]: Asked to present alert for error 1 source App Store underlying error Error Domain=NSURLErrorDomain Code=-999 "Canceled" UserInfo={NSErrorFailingURLStringKey=https://<the server ip:port>/down/client/ipa, NSErrorFailingURLKey=https://<the server ip:port>down/client/ipa, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <93E0FA8C-059B-4C9C-8901-DD840192E5F9>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <93E0FA8C-059B-4C9C-8901-DD840192E5F9>.<1>, NSLocalizedDescription=Canceled} for bundle IDs (
"<My app bundle id>"
)
I have no idea to solve this problem, because there is less documentation about the OTA installation for Enterprise App.
Please Help.