Comments (13)
Interesting, I wasn't aware -interposable carried such a cost. Your issues are never boring. Thanks again for filing it!
from hotreloading.
Hi, SwiftTrace "does things" but generally only if you ask it to by calling one of its apis. You see it as a framework as the Swift Package is a framework of necessity related to trampolines. I'd need to see the full state trace to tell you more.
from hotreloading.
Thinking about this come more it could be to do with processing large numbers of file events trying to determine the active project. You could try reducing the value for eventsToBackdate
in FileWatcher.swift. Another alternative could be to switch to the new InjectionLite project which is a "no frills" reference implementation of the same functionality as the HotReloading project (though it still processes file events.)
from hotreloading.
Hi, SwiftTrace "does things" but generally only if you ask it to by calling one of its apis. You see it as a framework as the Swift Package is a framework of necessity related to trampolines. I'd need to see the full state trace to tell you more.
com_kwai_gif-2023-04-07-151823.ips.zip
Here is the ips file. Thanks
from hotreloading.
Thinking about this come more it could be to do with processing large numbers of file events trying to determine the active project. You could try reducing the value for
eventsToBackdate
in FileWatcher.swift. Another alternative could be to switch to the new InjectionLite project which is a "no frills" reference implementation of the same functionality as the HotReloading project (though it still processes file events.)
I will try it, thanks~
from hotreloading.
Ah, sorry, InjectionLite does not work on a device at all. Could it be a networking problem? I could put a pause in before it starts the injection thread.
from hotreloading.
May not be a networking problem, I have tested it.
from hotreloading.
If I only support OC injection on device, is it possible to without SwiftTrace?
from hotreloading.
Not without restructuring the code somewhat. SwiftTrace in itself really shouldn't be your problem though it will of course bind with the Swift runtime which may slow down the initial load of your Objective-C app. I'm afraid you may have to live with this; It only occurs on a very cold starts right? What model is your device?
from hotreloading.
Yes, only occurs on a very cold starts. I have tested several models of device, guess it may not the device model's problem.
from hotreloading.
There are a couple of other things you can try. Are you sure you don't see this problem without the HotReloading package? Another thing you could try is comparing your app with and without -Xlinker -interposable flag (which you don't need to inject an Objective-C app.)
from hotreloading.
Thanks, I will try it~
from hotreloading.
The cause of the problem is the interposable. Thanks.
from hotreloading.
Related Issues (20)
- iOS device injection not working when running as a Mac app HOT 17
- Updates overlap in UI HOT 1
- class category injection failed on device HOT 7
- Some questions about the implementation. HOT 1
- Crasing in SwiftInjection HOT 25
- Is there anyway to re-compile a file only when cmd + s ? HOT 3
- Hot reloading not changing my views HOT 6
- Does it support C functions 、variable in other files? HOT 7
- Will the DDHotKey affect the file watch ? HOT 6
- Cannot use HotReloading with Other debug configurations (ex. Dev, Test Configuration) HOT 12
- Xcode 15 beta link SwiftTrace failed HOT 8
- Hot reloading failing on real iOS device HOT 12
- Connection refused HOT 12
- Cannot reload on M1, getting an “eval101.dylib” can’t be opened because Apple cannot check it for malicious software error. HOT 21
- lopen() error: dlopen(/private/var/mobile/Containers/Data HOT 2
- Cannot reload on M1: Mac os Sonoma prevents InjectionIII from accessing data HOT 3
- Loading .dylib has failed, This is likely because Swift code being injected references a function using a default argument or a member with access control that is too restrictive or perhaps an XCTest that depends on code not normally linked into your application. Rebuilding and re-running your project (without a build clean) can resolve this. HOT 8
- Custom DerivedData folder breaks hot reloading HOT 8
- Hot reloading doesn't work in framework targets when a custom folder name is used for derived data HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hotreloading.