wickwirew / Runtime

A Swift Runtime library for viewing type info, and the dynamic getting and setting of properties.
MIT License
1.08k stars 94 forks source link

Use of unresolved identifier swift_allocObject #44

Closed AnthonyOliveri closed 5 years ago

AnthonyOliveri commented 5 years ago

I installed Runtime 2.1.0 using Cocoapods. When I opened Xcode and ran a clean build, I got the following build error in Runtime's Factory.swift: Use of unresolved identifier 'swift_allocObject.

Here are the details on my environment:

Here are the troubleshooting steps I've tried so far:

Screenshot for more context:

Runtime-build-error
wickwirew commented 5 years ago

Adding the CRuntime bridging header broke it. Trying to fix it but having a little trouble. My cocoapods experience is pretty minimal.

AnthonyOliveri commented 5 years ago

Ah, ok. I manually added the missing const void * _Nullable swift_allocObject function to the CRuntime.h file, and that got the build working as a temporary fix.

I saw your cocoapods branch on the CRuntime repo. Any luck?

AnthonyOliveri commented 5 years ago

Actually, I think the fix is really simple. I cloned the Runtime and CRuntime repos locally, then imported those local pods into my app, rather than using the Cocoapods master repo. The build succeeded when I did that (although there was a warning about not being able to process CRuntime/module.modulemap).

I checked cocoapods.org; it looks like it only has 2.0.1 as the latest version for CRuntime. I think all you need to do is a pod trunk push to get the latest version (2.1.2) on Cocoapods.

wickwirew commented 5 years ago

I noticed I forgot to do that yesterday and pushed it, but when I tested it out it was still broken for me, so I deleted the trunk. Turns out the project I was using to test out Cocoapods has something else wrong with it. I created a new iOS project and confirmed it works. Guess I shouldn't have used a 2 year old unmaintained project to test it 😅

Anyways, pushed it again. Thanks for looking into that!

AnthonyOliveri commented 5 years ago

Ahh, I gotcha. I just did a pod install, built my app, and it seems to be working just fine now. Thanks for the quick turnaround!