Code Monkey home page Code Monkey logo

Comments (21)

johnno1962 avatar johnno1962 commented on June 12, 2024 1

You're running the App, your program is connecting (the icon changed to orange) and it's still not working? Have you tried removing the eval101.dylib file it mentions?

from hotreloading.

johnno1962 avatar johnno1962 commented on June 12, 2024 1

The old recipe for how to get this particular combination injecting no longer works but I've updated the 4.7.5 release candidate of the app so it allows you to inject using the HotReloading project. Thanks for bringing this up. I'm always happy when people tickle the far reaches of what is possible with the project 👍.

from hotreloading.

johnno1962 avatar johnno1962 commented on June 12, 2024 1

Closing this now, thanks for dusting this feature off.

from hotreloading.

oryonatan avatar oryonatan commented on June 12, 2024

this seems related to johnno1962/InjectionIII#178
but this issue is marked as solved.

I am running Mac os 13.6.

from hotreloading.

johnno1962 avatar johnno1962 commented on June 12, 2024

Hi, Have you tried using HotRekoading in conjunction with running one of the App releases ? Standalone signing from inside a "My Mac (Designed for iPhone)" may be a big ask. You'll also need to have an environment variable INJECTION_DAEMON to force it to connect to the app.

from hotreloading.

oryonatan avatar oryonatan commented on June 12, 2024

I am using app release 4.7.4, and I've set the INJECTION_DAEMON.

from hotreloading.

johnno1962 avatar johnno1962 commented on June 12, 2024

OK. I've been able to reproduce this and know what it is. Let we see if this configuration can be supported.

from hotreloading.

oryonatan avatar oryonatan commented on June 12, 2024

Hi @johnno1962 thanks for the fast and kind response!\

I've downloaded the binary from the 4.7.5 RC and checked out HotReloading locally to the latest commit
257a4ea17c22606dc56264df8479d6e71e5dcdf8 iOS running on Mac and I am still getting the same security message ... did I miss any step there?

(BTW I am running my tests on the SwiftUI Kit demo project)

from hotreloading.

johnno1962 avatar johnno1962 commented on June 12, 2024

Strange, I definitely fixed something and have just tried SwiftUI Kit with the new app and HotReloading main and it works. You're getting the same popup from the OS as before? Can you check that in the pop down menu on the menu bar, when you hover over the "Quit InjectionIII" cell it show a tooltip with a build number of #7866? The menu bar icon is orange?

from hotreloading.

oryonatan avatar oryonatan commented on June 12, 2024

I've checked by hovering over the Quit InjectionIII menu item and indeed the build number is #7866.
The icon is orange, I am still getting this message:
image

after pressing ok, it tries a couple of times to open it again until finally giving up
here is the full console log:

🔥 Sending multicast packet to connect to your development host redacted-MBP.
🔥 If this fails,hardcode your Mac's IP address in HotReloading/Package.swift
   or add an environment variable INJECTION_HOST with this value.
🔥 You'll need to be running a recent copy of the InjectionIII.app downloaded from https://github.com/johnno1962/InjectionIII/releases?
🔥 And have typed: defaults write com.johnholdsworth.InjectionIII deviceUnlock any
InjectionClient/Could not send multicast ping: No route to host
<SwiftEval: 0x121e096c0>.deinit()
🔥 HotReloading connected /Users/redacted/workspace/SwiftUI-Kit/SwiftUI Kit.xcodeproj
🔥 Watching files under the directory /Users/redacted/workspace/SwiftUI-Kit
LSPrefs: could not find untranslocated node for <FSNode 0x60000210a5c0> { isDir = ?, path = <private> }, proceeding on the assumption it is not translocated: Error Domain=NSPOSIXErrorDomain Code=1
LSPrefs: could not find untranslocated node for <FSNode 0x60000210a5c0> { isDir = ?, path = <private> }, proceeding on the assumption it is not translocated: Error Domain=NSPOSIXErrorDomain Code=1
LSPrefs: could not find untranslocated node for <FSNode 0x60000210a5c0> { isDir = ?, path = <private> }, proceeding on the assumption it is not translocated: Error Domain=NSPOSIXErrorDomain Code=1
Class _UIFindNavigatorViewController overrides the -traitCollection getter, which is not supported. If you're trying to override traits, you must use the appropriate API.
LSPrefs: could not find untranslocated node for <FSNode 0x60000210a5c0> { isDir = ?, path = <private> }, proceeding on the assumption it is not translocated: Error Domain=NSPOSIXErrorDomain Code=1
🔥 Compiling /Users/redacted/workspace/SwiftUI-Kit/Shared/ContentView.swift
🔥 Selecting Xcode /Applications/Xcode15.app/Contents/Developer
🔥 Loading .dylib ...
🔥 ⚠️ dlopen() error: dlopen(/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib, 0x0002): tried: '/Users/redacted/Library/Developer/Xcode/DerivedData/SwiftUI_Kit-bivomvtiddrttdamkikxglswesil/Build/Products/Debug-iphoneos/eval101.dylib' (no such file), '/Users/redacted/Library/Developer/Xcode/DerivedData/SwiftUI_Kit-bivomvtiddrttdamkikxglswesil/Build/Products/Debug-watchos/eval101.dylib' (no such file), '/usr/lib/system/introspection/eval101.dylib' (no such file, not in dyld cache), '/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (no such file), '/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (no such file), '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (code signature in <09102868-9916-3389-BD40-2A682DE914F2> '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' not valid for use in process: library load disallowed by system policy), '/System/Volumes/Preboot/Cryptexes/OS/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (no such file), '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (code signature in <09102868-9916-3389-BD40-2A682DE914F2> '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' not valid for use in process: library load disallowed by system policy)
🔥 ⚠️ Injection error: Error Domain=SwiftEval Code=-1 "dlopen() error: dlopen(/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib, 0x0002): tried: '/Users/redacted/Library/Developer/Xcode/DerivedData/SwiftUI_Kit-bivomvtiddrttdamkikxglswesil/Build/Products/Debug-iphoneos/eval101.dylib' (no such file), '/Users/redacted/Library/Developer/Xcode/DerivedData/SwiftUI_Kit-bivomvtiddrttdamkikxglswesil/Build/Products/Debug-watchos/eval101.dylib' (no such file), '/usr/lib/system/introspection/eval101.dylib' (no such file, not in dyld cache), '/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (no such file), '/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (no such file), '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (code signature in <09102868-9916-3389-BD40-2A682DE914F2> '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' not valid for use in process: library load disallowed by system policy), '/System/Volumes/Preboot/Cryptexes/OS/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (no such file), '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (code signature in <09102868-9916-3389-BD40-2A682DE914F2> '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' not valid for use in process: library load disallowed by system policy)" UserInfo={NSLocalizedDescription=dlopen() error: dlopen(/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib, 0x0002): tried: '/Users/redacted/Library/Developer/Xcode/DerivedData/SwiftUI_Kit-bivomvtiddrttdamkikxglswesil/Build/Products/Debug-iphoneos/eval101.dylib' (no such file), '/Users/redacted/Library/Developer/Xcode/DerivedData/SwiftUI_Kit-bivomvtiddrttdamkikxglswesil/Build/Products/Debug-watchos/eval101.dylib' (no such file), '/usr/lib/system/introspection/eval101.dylib' (no such file, not in dyld cache), '/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (no such file), '/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (no such file), '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (code signature in <09102868-9916-3389-BD40-2A682DE914F2> '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' not valid for use in process: library load disallowed by system policy), '/System/Volumes/Preboot/Cryptexes/OS/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (no such file), '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' (code signature in <09102868-9916-3389-BD40-2A682DE914F2> '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval101.dylib' not valid for use in process: library load disallowed by system policy)}
🔥 Compiling /Users/redacted/workspace/SwiftUI-Kit/Shared/ContentView.swift
🔥 Loading .dylib ...
🔥 ⚠️ dlopen() error: dlopen(/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib, 0x0002): tried: '/Users/redacted/Library/Developer/Xcode/DerivedData/SwiftUI_Kit-bivomvtiddrttdamkikxglswesil/Build/Products/Debug-iphoneos/eval102.dylib' (no such file), '/Users/redacted/Library/Developer/Xcode/DerivedData/SwiftUI_Kit-bivomvtiddrttdamkikxglswesil/Build/Products/Debug-watchos/eval102.dylib' (no such file), '/usr/lib/system/introspection/eval102.dylib' (no such file, not in dyld cache), '/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (no such file), '/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (no such file), '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (code signature in <7BA22EC2-AB55-35F4-84EB-501C920C9F40> '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' not valid for use in process: library load disallowed by system policy), '/System/Volumes/Preboot/Cryptexes/OS/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (no such file), '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (code signature in <7BA22EC2-AB55-35F4-84EB-501C920C9F40> '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' not valid for use in process: library load disallowed by system policy)
🔥 ⚠️ Injection error: Error Domain=SwiftEval Code=-1 "dlopen() error: dlopen(/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib, 0x0002): tried: '/Users/redacted/Library/Developer/Xcode/DerivedData/SwiftUI_Kit-bivomvtiddrttdamkikxglswesil/Build/Products/Debug-iphoneos/eval102.dylib' (no such file), '/Users/redacted/Library/Developer/Xcode/DerivedData/SwiftUI_Kit-bivomvtiddrttdamkikxglswesil/Build/Products/Debug-watchos/eval102.dylib' (no such file), '/usr/lib/system/introspection/eval102.dylib' (no such file, not in dyld cache), '/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (no such file), '/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (no such file), '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (code signature in <7BA22EC2-AB55-35F4-84EB-501C920C9F40> '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' not valid for use in process: library load disallowed by system policy), '/System/Volumes/Preboot/Cryptexes/OS/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (no such file), '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (code signature in <7BA22EC2-AB55-35F4-84EB-501C920C9F40> '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' not valid for use in process: library load disallowed by system policy)" UserInfo={NSLocalizedDescription=dlopen() error: dlopen(/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib, 0x0002): tried: '/Users/redacted/Library/Developer/Xcode/DerivedData/SwiftUI_Kit-bivomvtiddrttdamkikxglswesil/Build/Products/Debug-iphoneos/eval102.dylib' (no such file), '/Users/redacted/Library/Developer/Xcode/DerivedData/SwiftUI_Kit-bivomvtiddrttdamkikxglswesil/Build/Products/Debug-watchos/eval102.dylib' (no such file), '/usr/lib/system/introspection/eval102.dylib' (no such file, not in dyld cache), '/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (no such file), '/System/iOSSupport/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (no such file), '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (code signature in <7BA22EC2-AB55-35F4-84EB-501C920C9F40> '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' not valid for use in process: library load disallowed by system policy), '/System/Volumes/Preboot/Cryptexes/OS/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (no such file), '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' (code signature in <7BA22EC2-AB55-35F4-84EB-501C920C9F40> '/Users/redacted/Library/Containers/2DA45651-72DB-494F-B3F2-0683E3CCA9A2/Data/tmp/eval102.dylib' not valid for use in process: library load disallowed by system policy)}

from hotreloading.

johnno1962 avatar johnno1962 commented on June 12, 2024

One last suggestion, can you try launching with an INJECTION_HOST environment variable in your scheme with the value localhost or 127.0.0.1? At the minimum this will help cut down some of the noise.

from hotreloading.

oryonatan avatar oryonatan commented on June 12, 2024

Hi! that seemed to solve the issue!

from hotreloading.

oryonatan avatar oryonatan commented on June 12, 2024

this will probably make injection stop working on device though, right?

from hotreloading.

johnno1962 avatar johnno1962 commented on June 12, 2024

Ah, yes, that's right but you'll know why and be able to fix it. It uses the fact it's a local connection to avoid having the app write the .dylib file which is what happens with device injection. I'll see if there is any more I can do about this. Would you know the reliable combination of #ifs to detect iOS on Mac from inside an Objective-C source by any chance?

from hotreloading.

oryonatan avatar oryonatan commented on June 12, 2024

that'll be NSProcessInfo.isIOSAppOnMac https://developer.apple.com/documentation/foundation/nsprocessinfo/3608556-iosapponmac?language=objc

from hotreloading.

johnno1962 avatar johnno1962 commented on June 12, 2024

Hmm, yeah you could but that doesn't play well with #ifs and would involve revisiting some fairly dense code I really don't want to have to retest at this stage even it is overdue. I've pushed a new build of the release candidate which should identify a "wider variety of local connections" if you'd like to test it out without the INJECTION_HOST override and let me know how you get on.

from hotreloading.

oryonatan avatar oryonatan commented on June 12, 2024

Latest build seems to work well both on an attached iPhone, and My Mac (Designed for iPhone)🎉

from hotreloading.

johnno1962 avatar johnno1962 commented on June 12, 2024

Without the override? That's great! The situation with My Mac (Designed for iPhone) could be better but you may be only one of very few people trying to use it so there is a limit to how much attention it gets. Certainly, I don't want to regress "core users" i.e. iOS in simulator. When you're happy feel free to close this issue and thanks again for pushing the limits and taking the time to raise an issue!

from hotreloading.

oryonatan avatar oryonatan commented on June 12, 2024

Yes it works without any override!

Another - very related topic is that it seems like (in iOS17 at least), when attaching a device by USB the computer establishes a direct network with this device.
The network appears as a new en interface with both the Mac and the connected iPhone getting an APIPA address (169.254.xxx.xxx).

Initially trying to use this network doesn't seem to work ... I suspect that there is no local name service running there
so the iPhone cannot find the mac using the host name, however I am able to use this network if I hardcode the mac IP address in the INJECTION_HOST variable.

So I wonder if there is any way for the iPhone to find the mac over such network? I guess a broadcast should work here as there are only two devices in this network...

from hotreloading.

oryonatan avatar oryonatan commented on June 12, 2024

BTW regarding people not using My Mac (Designed for iPhone) with injection - in my team it is quite common use case! Our iOS app is quite large, and developing on the mac has the benefit of faster installs which saves us time in the normal day-to-day (and you don't have to worry about the device locking itself or forgetting the cable at home).

from hotreloading.

johnno1962 avatar johnno1962 commented on June 12, 2024

I'm surprised you use My Mac (Designed for iPhone) to be honest. I've found the launch times for even the tiniest project very slow but I guess if you use injection the launch time matter right? Re: device connections and broadcasts it's a difficult problem. The simplest approach is that in Package.swift which compiles your Mac's hostname into your app to connect to which generally works. It then falls back to sending a broadcast packet but the code is naive and while it used to be very reliable on my machine it gives a "No route to host" error now and it was never clear if that was because the OS changed or because I reconfigured my home network around that time. The last option is the INJECTION_HOST variable which is at least simple.

If you're up and running I think I'll leave things as they are for now and I'm happy we've found a better solution for My Mac (Designed for iPhone) for those who want to use it.

from hotreloading.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.