Workspace missing linked files from working copy - objective-c

Not a Pro with Xcode, here is my problem. I have main project and Pods project. Last time it was checked in 1 year ago with older cocoapod and older Xcode.
Now I installed everything and checked in in latest Xcode with latest cocoapod. I was able to refresh pods and everything compiles and works fine. However, I do get those weird warnings. How do I clean it up and remove this from appearing?
I beleive it is related to how Pod's linking/headers used to work and how it works now. But how do I clean it up?
file:///Users/c/Documents/DMD/Pods/BuildHeaders/GoogleProtobuf/google/protobuf/io/coded_stream_inl.h: warning: Missing file: /Users/c/Documents/DMD/Pods/BuildHeaders/GoogleProtobuf/google/protobuf/io/coded_stream_inl.h is missing from working copy

I found it. I'm new to Xcode so I didn't realize what it really means. It's source-control related. I had those files checked in previously but not they are not needed and Xcode manages it but then complains that I don't have them locally but do have them in SVN. I had to commit those "deletions" and all is well.
Figured I won't delete question, maybe it will help another newbie

in terminal.
cd yourProject/Pods
then
sudo find . -type d -name .svn | xargs rm -rf
remove all svn files.

Related

Updating Helpbook bundle in OSX application

I am on MacOS Mojave (10.14), not iOS. Xcode 10, Objective-C.
I have an application with an already implemented Helpbook. Everything works fine.
Now i need to update the help book.
I recreated the helpbook bundle. Replaced the old one in Xcode with the new one (create folder references).
When i build the app and open the package contents, the new helpbook is included. Great. But the app shows the old one.
What have i done:
Clean derived data with XCode closed
Clean product/folder
Logged out/in (assuming theres some kind of cache)
Cleaned the helpbook cache and restarted (see script below)
Still the old help book.
What am i missing?
Helpbook cache cleaning script i use (credits: http://macergun.blogspot.com/2011/06/dealing-with-help-viewer-cache.html)
rm -rf ~/Library/Caches/com.apple.help*
rm -rf ~/Library/Preferences/com.apple.help*
rm -rf ~/.Trash/*
killall helpd
defaults write com.apple.helpindexer IndexAnchors YES

Cocoapods Errors : Resource.sh not found

Folks,
Cocoapods : 0.39.0
FYI I have done enough research and I was able to take care of errors like:
Podfile.lock not found.
.menifest not found
and others while building my project.
Which still seem hack to me but as long as they let me build I dont care.
But one real problem is this :
Pod-resources.sh not found and this one is in the pod directory.
so for sure Its not in my source control as I dont check in pods dir into my project.
I have done more than enough weokspace deletion, podlock deletion, who pods dir deletion and pod install. but this problem is still there.
I am using apptentive which has a resource bundle, which need to be copied to the app binary.
At the moment I have disable Apptentive thru out the project to speed up the development and keep looking for solution.
Links that I have read are follows :
https://github.com/CocoaPods/CocoaPods/issues/2303
is from July 10, 2014 : seem too old to rely on.
CocoaPods Errors on Project Build
Error:"The sandbox is not in sync with the Podfile.lock..." after installing RestKit with cocoapods
The sandbox is not in sync with the Podfile.lock-ios
Error:"The sandbox is not in sync with the Podfile.lock..." after installing RestKit with cocoapods
How I solved my partial problem : delete workspace file, Pods Dir and .lock file. If this can help anybody.
Culprit was the path. It seem how Cocoapods is handling is different than earlier.
What it dont do is updating your project file for Copy Resources phase:
it seems they have update the path and now it has "/Target Support Files/Pods-ProjectName/" in it.
Older path: "${SRCROOT}/Pods/Pods-ProjectName-resources.sh"
New Path: "${SRCROOT}/Pods/Target Support
Files/Pods-projectName/Pods-Project-resources.sh"
So if you are having same errors like me you need to do is :
remove workspace file
remove .podlock file
remove .menifest file
do Pod install
update the path in build phase in xcode project file as shown above.
Now Build the project/workspace
Hope this will save someone's time.
You might have to add a PODS_ROOT user-defined build setting, as described here.

java.lang.NoClassDefFoundError: org/apache/tools/ant/util/ReaderInputStream vaadin+gradle+intelliJ

I have been working fine with Vaadin + Gradle + IntelliJ until yesterday night when I introduced SLF4J(logback) logging to my application. Since then I can't make my project anymore due to classDefFoundError of org/apache/tools/ant/util/ReaderInputStream.
I can't link it with any transitive dependency of any contained jar in application, but even if I remove SLF4J libraries I still can't make my application, so I am wondering what changed?
I am using vaadin gradle plugin 0.9.5 and gradle 2.2.1. Has anyone ever encountered this problem? I was reading another post where someone had the same issue, but the solution he proposed is not valid to my application. He proposed to comment some of the lines in vaadin.gradle, which my application doesn't have.
Try
File > Invalidate Caches / Restart...
File > Invalidate Caches / Restart... nor did git clean -dfx. Here is what I had to do:
Close IntelliJ
IMPORTANT: Make sure you have everything commited you care about (you're about to clean your working copy)
Run git clean -dfx to clean your working copy
Run IntelliJ
Select Import Project
Navigate to the directory containing your project
The select Import project from external model and select Gradle
Press Next
Make sure the settings on the next page look ok then press Finish
The build should now hopefully work
I deleted the .idea folder and that worked for me.
File > Invalidate Caches / Restart... option didn't work for me, but
sudo git clean -dfx worked fine
remove .idea and invalidating caches worked for me.
rm -r .idea/ in command line
in Intellij GUI File > Invalidate Caches / Restart...

Should xcworkspace be in gitignore

I am using GitHubObjectiveCGitIgnore
When I go in sourcetree to commit I see :
project.xcworkspace
This file is not ignored using Github .gitignore file.
I am not sure do I need to commit and push this file?
If you're using Cocoapods, I actually find that the answer depends on a few things.
If you just want the project to be compilable and runable "out of the box", then go ahead and check everything in; xcworkspace and all pods.
If there is a pod that you need to modify for some reason and you want to include that change with your project, then check everything in. For instance, I've found bugs that haven't been fixed for one reason or another and it was easier to just fix them myself and check in the pod along with my project rather than wait for the updated pod or integrating the library manually (which is essentially the same result as checking the pod in anyways). Alternatively, fork the repo, push your changes to it, and point your pod to your fork.
If you have no issues with any of the pods and you've verified that everything works with the versions of the pods you've specified, then you don't have to check in the xcworkspace file or pods. Of course, you'll have to run pod install in this case.
There's no hard and fast rule on what to do here. Sometimes it's worth the extra overhead to just check everything in, and sometimes it's not necessary. It depends on what's most convenient for you.
In short yes it should be commited.
I have my xcworkspace file checked in to my repo. If you don't use a workspace it probably isn't needed but as I use Cocoapods this creates a xcworkspace with the original project and the pods project inside of it.
Use a workspace is the correct way on handling multiple project sets/dependencies.
If you have/or plan to have several projects in the workspace (for example sub projects of your project) then you should not add it to .gitignore.
Cocoa pods just adds its own project to the workspace if a workspace exists when you do a pod install.
In general it is safer to include the workspace file in the git commit, even if you exclude pods.
You will have to do a pod install anyway to compile your project so even if you commit a workspace file that already has the cocoa pod project added it wont cause any issues.

Class-Dump Installation

So this may sound like a really stupid question and I HAVE looked at the how-to from the parent website, but no matter what I do, I cannot get this program to even start to install...
I tried entering:
cd /opt/local/bin/portslocation/dports/class-dump
which returned a "this file/director doesnt exist" error, so i tried to get to it folder by folder. when i got all the way to:
cd /opt/local/bin/
i cannot go any further. when i check the contents of the bin directory, the only files i can find are (and i cannot access these apparently either):
"daemondo port portf portindex portmirror"
i have tried doing this on 2 computers so far to no avail, macports is installed on both like the website said and i am having trouble finding any support for it. please and thank you!!
Unless you're trying to develop it, why screw around? Use homebrew. As of today, and modulo a sudo here or there, you can install homebrew with
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
If this doesn't work for you, check the command line at the top of the page on homebrew.†
After this, install class-dump with
brew install class-dump
Done.
† Ping me in the comments with "command line update needed", and I'll try to keep this in sync. :)
I had issues with this for hours, but it is actually quite simple.
I downloaded the class-dump 3.3 version from CodeTheCode, Unzipped the file and copied the class-dump file to a directory. In my case the directory was /opt/theos/bin.
In terminal, I then CD to that directory using cd /opt/theos/bin
To run the class dump command line utility it is as simple as this;
./class-dump
Obviously you then need to give it it's arguments, so in my case I was using it do dump the iOS headers from the frameworks, so I used;
./class-dump -H /Developer/Library/iPhoneSimulator4.3.sdk/Frameworks/UIKit.framework/UIKit -o ~/Desktop/UIKit
Obviously I am not sure what you are using it for, but in the example above I am telling class-dump to dump header files from the directory given, and output them to /Desktop/UIKit.
The theory is carried throughout.
Have you tried getting the binary from http://www.codethecode.com/projects/class-dump/?