Comments (6)
Hi, to make a pull request you need to make a fork of the repositories then add the branch with your changes to that fork which you'll be able to push to. Then you make pull request against the main repos. What changes do you have in mind? Can you post the diffs? From memory this wouldn't be completely straightforward.
from hotreloading.
Thank you for the fast response! I'll create pull requests very soon
Here are the diffs for both repos:
HotReloading.diff.zip
InjectionIII.diff.zip
The key points are:
- if Xcode is installed at
/Applications/Xcode.app
then the app will work as it worked previously - otherwise user will be proposed to select the path to Xcode with standard
NSOpenPanel
- I've added a menu item
Select Xcode
so user also will be able to re-select it
- Xcode path is saved to
UserDefaults
so used won't need to select it on each app start - there is ability to pass Xcode path through params when user opens the app using command line:
open /Applications/InjectionIII.app --args -projectFile "/path/to/project" -addDirectory "/additional/directory/to/watch" -xcodeAppPath "/path/to/xcode"
Thank you! 🙏
from hotreloading.
@johnno1962 I've created PR to HotReloading repo and PR to InjectionIII repo
Looking forward to your feedback!
Thank you!
from hotreloading.
Hi, Thanks for the time you're putting into this! You've done a great job of understanding some ageing code. To be honest, the changes you propose are a little more extensive than I'd be comfortable making at this stage without having to do an extensive retest, particularly those to do with the "rpath" of the injection bundle which I haven't changed in a long while.
I've taken a look at this problem myself taking a different approach where InjectionIII finds the path to the Xcode in use from the build logs automatically using the platform argument of the compile command rather than introducing a new item of state to the app:
https://github.com/johnno1962/HotReloading/pull/56/files
As your PR shows there are only two places where the path to the Xcode in use is required, first for linking to find clang and the platform/sdk path and secondly for code signing. If we could remove the requirement to know where the current Xcode is we wouldn't need to introduce a UI to select it.
What do you think of the alternative?
from hotreloading.
Hi @johnno1962,
A good job! Your approach is more interesting than mine 👏
I've left a comment to the PR with a couple more my thoughts about it 🙏
Thank you for your job!
from hotreloading.
@leonidmelnyk I released the new PR as 4.3.1 if you want to try it out. Thanks for bringing this up. It was time it was resolved.
from hotreloading.
Related Issues (20)
- Problems using HotReloading as a Swift package HOT 4
- 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
- cold start on device encounter watch dog HOT 13
- 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
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.