-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resource Bundles created in pod spec via [spec].resource_bundle lack build configurations beyond 'debug' and 'release' #1309
Comments
Ouch, that’s a bug indeed. I think this might be solved by #1294. Can you check if adding the configurations at the project level is enough to make it work? |
Doesn't seem to, no. I added several different ones; they all appeared in the Build Configuratios in the library versions of the pods, but not the resource bundles. |
Ok thanks for the feedback, this definitely needs some extra work then. |
This is causing build failures during the Archive action during xcodeproj 'TAFlights', 'Distribution' => :release The failure looks like:
Digging deeper into the directory structure, it looks like what's happening is the resources bundle symlink is winding up in As soon as I get this archive built I'll take a peak in the code and see if I can't nail down a fix. |
Man, there's a whole cluster of issues around Archiving + Resource Bundles. When I Archive the app against the
|
Adding the
|
@alloy is the addition of An alternative would either be to dereference the source file to its link target and append that to the list of files for rsync or perhaps the symlinked file path itself is the issue and it should be considering the target path. |
You have closed the issue, but the problem @blakewatters reported is still there (I mean resource bundle not copied during archiving). Should we open a separate issue? |
Indeed, good catch, thanks! |
@blakewatters Thanks for investigating!
This would break (OS X) frameworks, which use symlinks for versioning: bitstadium/HockeySDK-Mac#12 (comment). /cc @ashtom
Yeah, that sounds like a better idea. Did you test something like this yet? |
@blakewatters @ashtom Oops, I was wrong, frameworks are handled separately, so that should not be a problem for resource bundles. |
…e copying. refs CocoaPods#1309 This ensures that destination files are copied into the application bundle instead of symbolic links preventing the creation of invalid apps during Archive.
Pull request sent with the @alloy and @irrationalfab I just updated to 0.24.0 and the behavior is now worse than in 0.23.0. The Copy Pods resources script now fails outright with a path for the resources bundle that does not exist. Will investigate and report back shortly. |
@alloy and @irrationalfab drilled in further. My
This was causing the path to expand to Changing it to:
Seems to do the trick. I am updating my earlier pull request and deploying a build onto device to make sure the whole process is happy. |
Okay the combination of these changes has left me with a resource bundle setup that works flawlessly. I am able to build and archive across all configurations without any hiccups. @irrationalfab Can you merge my changes, close this issue and tag 0.24.1? I think resource bundles will be in good shape from that point forward. |
Yes please! This one caused us to ship a nasty regression to the store (and uh, subsequently update our testing procedures... ;)) |
Closed by #1329 |
I think minor release should be done with this fixes. I can't create a build without them (I have to change Pods-resource.sh manually) |
I've been rolling forward very stable in a resource bundle heavy setup without issue with all of the fixes applied for 2 weeks now. I feel pretty confident that we are in a happy place with resource bundles now and should ship a point release with the fixes. The current production version is unusably broken. |
Pods that include resource bundles generated using the new "resource_bundle" function in the pod specs are missing the build configurations for the target that the library targets have.
I am using version 0.23.0.
For example, in my pod spec, I have
s.resource_bundle = { 'xxxDataService' => 'xxDataService/xxxDataService/Resources/.' }
When I "pod install" I look in my Pods project info, and I see
Configurations
Name Based On Configuration File
Release 2 Configurations Set
Debug 2 Configurations Set
Development 2 Configurations Set
Pods None
Pods-xxxDataService Pods-xxxDataService-Private
xxxDataService None
Pods Pods
...
In the target Pods-xxxDataService / Build Settings page, under Build Locations, I have
Per-configuration Build Products Path
AppStore
Debug
Development
QA
...
However, in the xxxDataService bundle target / Build Settings Page, under Build Locations, I have
Per-configuration Build Products Path
Debug
Release
Because of this, I can only ever build my project that includes this 'pod in a scheme that uses either Debug or Release, since any other will not put the xxxDataService.bundle file in the wrong location. Then, when the "Pods-resources.sh" script is ran, it returns a Code 23, because it was unable to find the file in the, for example, Development build configuration:
DerivedData/iPhone/Build/Products/Development-iphonesimulator/xxxDataService.bundle
The text was updated successfully, but these errors were encountered: