Commit 5f57e61
feat(ios): implement NSConstantDictionary and fix NSConstantArray
Interpret compiler-emitted constant literals in __objc_dictobj/
__objc_arrayobj by their clang ABI layout:
- NSConstantDictionary: isa|options|count|keys|objs; implement count,
objectForKey: and keyEnumerator so NSDictionary conveniences, fast
enumeration and Swift bridging work on constant dictionaries.
- NSConstantArray: read real count/objs instead of the count->0 stub,
add objectAtIndex:.
- Redirect _OBJC_CLASS_$_NSConstantDictionary binding to the fake UIKit
image in MachOLoader.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent 3107359 commit 5f57e61
4 files changed
Lines changed: 59 additions & 1 deletion
File tree
- unidbg-ios/src/main
- java/com/github/unidbg/ios
- native/ios/Frameworks/UIKit
- resources/ios/7.1/System/Library/Frameworks/UIKit.framework
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1759 | 1759 | | |
1760 | 1760 | | |
1761 | 1761 | | |
| 1762 | + | |
1762 | 1763 | | |
1763 | 1764 | | |
1764 | 1765 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
435 | 435 | | |
436 | 436 | | |
437 | 437 | | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
438 | 445 | | |
439 | 446 | | |
440 | 447 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
659 | 659 | | |
660 | 660 | | |
661 | 661 | | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
662 | 681 | | |
663 | 682 | | |
664 | | - | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
665 | 715 | | |
666 | 716 | | |
667 | 717 | | |
| |||
Binary file not shown.
0 commit comments