ryukiesama / swifty Goto Github PK
View Code? Open in Web Editor NEWMake swift code swifty
License: MIT License
Make swift code swifty
License: MIT License
When we try to setting self.view = ScreenShieldView.create() then the entire screen is changed to black even before taking screenshot
发现 在 有一台 iphone 11 pro,iOS 15.1, 有崩溃
可用模拟器复现:
CoreSimulator 776.4 - Device: iPhone 13 (9CAB0B24-C444-409B-9E5E-50A9EFD7CF8B) - Runtime: iOS 15.0 (19A339) - DeviceType: iPhone 13
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCountableTextLocation compare:] receiving unmatching type (null)'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff203fbbb4 __exceptionPreprocess + 242
1 libobjc.A.dylib 0x00007fff2019ebe7 objc_exception_throw + 48
2 CoreFoundation 0x00007fff203fba92 -[NSException initWithCoder:] + 0
3 UIFoundation 0x00007fff24298433 -[NSCountableTextLocation compare:] + 200
4 UIFoundation 0x00007fff242d1ac5 -[NSTextViewportLayoutController layoutViewport] + 2025
5 UIKitCore 0x00007fff255af1fe +[UIView(Animation) performWithoutAnimation:] + 84
6 UIKitCore 0x00007fff24a50bb0 -[_UITextLayoutCanvasView layoutSubviews] + 97
7 UIKitCore 0x00007fff255bcaad -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 2962
8 QuartzCore 0x00007fff2893c2b6 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 548
9 QuartzCore 0x00007fff289474f1 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 65
10 QuartzCore 0x00007fff288830ca _ZN2CA7Context18commit_transactionEPNS_11TransactionEdPd + 652
11 QuartzCore 0x00007fff288bac47 _ZN2CA11Transaction6commitEv + 699
12 UIKitCore 0x00007fff24ffa814 _UIApplicationFlushRunLoopCATransactionIfTooLate + 70
13 UIKitCore 0x00007fff250b3e36 __processEventQueue + 9641
在使用ScreenShieldView创建出来的view中,如果是insertSubview一个子view的话,insertSubview进来的子view还是能被截屏到了。如:
self.view = [ScreenShieldView createWithFrame:UIScreen.mainScreen.bounds];
UIView *insetView = [[UIView alloc] initWithFrame:CGRectMake(30, 80, 180, 280)];
insetView.backgroundColor = [UIColor redColor];
[self.view insertSubview:insetView atIndex:0];
截图后insetView仍然会被截屏保留。
测试在iOS12.5上无效,UITextFiled结构不同,没有_UITextLayoutCanvasView, 这种方法就不行了
怀疑是因为系统layout circle刷新导致的
po self.view <RyukieSwifty.ScreenShieldView: 0x7fef9cf2a6e0; frame = (0 0; 390 844); layer = <CALayer: 0x600001fa3140>>
po self.view <UIView: 0x7fef9cf2b100; frame = (0 0; 320 568); autoresize = RM+BM; layer = <CALayer: 0x600001fa39a0>>
ScreenShieldView就凉凉了,没有效果
Hello i got an error when release mode run:
Use of undeclared identifier 'ScreenShieldView'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.