I am trying to create my own pods following tutorial
However when I added my code to the pods project and tried to push it. Then I get following error -
ERROR | xcodebuild: /Users/klouddata/Documents/Developer/MyPods/Classes/PDRatingsView.m:87:44: error: no visible #interface for 'UIApplication' declares the selector 'openURL:options:completionHandler:
I dont understand how to solve this error.
Thanks
To push pods your repo can't have errors (I believe it can't even have warnings). If error doesn't exist during building your framework then pods build it differently (maybe with different swift version?). To set swift version during pods building use command (found on pods website but didn't try it)
echo "3.0" > .swift-version
Personally I used following command (which is "bad way")
export TOOLCHAINS=com.apple.dt.toolchain.Swift_3
without understanding the problem somebody given the negative marks to this question,
Any ways after long research i found the answer myself.
As mentioned in ERROR | xcodebuild:, path for xcode build is different as i have in my system old xcode installed so need to change the path and I've to run both Xcode 7 (to build old version) and Xcode 8 (to build current develop branch)
using following command
launchctl remove com.apple.CoreSimulator.CoreSimulatorService || true
Related
Background
I brought a project down from a GIT repository to a windows machine, zipped it up, and put it on a Google drive.
I then pulled it down to my Mac, unzipped it and where it worked before on my other Mac, I am now getting the following error.
/Users/myname/Desktop/cmh.pubweb.theapp/TheApp/TheApp-Bridging-Header.h:1:9: note: in file included from /Users/myname/Desktop/cmh.pubweb.theapp/TheApp/TheApp-Bridging-Header.h:1:
#import <Google/Analytics.h>
^
/Users/myname/Desktop/cmh.pubweb.theapp/Pods/Headers/Public/Google/Google/Analytics.h:1:1: error: expected identifier or '('
../../../../Google/Headers/Analytics.h
^
<unknown>:0: error: failed to import bridging header '/Users/myname/Desktop/cmh.pubweb.theapp/TheApp/TheApp-Bridging-Header.h'
Notables
- I am running this on xcode 9.1 whereas my other Mac had an earlier version.
- It was written in Swift 3.
What I have done
Read just about every example of this error on Stackoverflow and applied suggestions without success.
Hit google and found one example where someone had an issue with windows doing something to one of the files. I didn't quite understand what they were getting at and applying the suggested fix didn't work out.
I have deleted the entire build folder.
I have performed "Clean Build Folder" without success.
I hesitate to post this as it seems to be a very vague error that has been tackled from a dozen different directions but I am at a loss after a day of trying to hunt this down.
Any suggestions are greatly appreciated.
The general practice is to only commit the Podfile to the repository and not the Pod folder. If that is the case, you will need to setup Pods on your new mac. Make sure you have cocoapods installed and setup on your new mac and then run pod install in your project directory
Based partially on the answer posted by #Malik
Deleted the POD directory in the root of the project folder
Deleted the Podfile.lock file. (left Podfile in place)
Downloaded CocoaPods App https://cocoapods.org/app (this was due to running into cert expiration issues even though all expired certs had been removed. Seems the app deals with it.)
Installed CocoaPods to the target app.
Also changed the project explicite location in the PodFile to reflect the current location in my system.
This resolved the current issues.
While compiling the application getting as following error
" compiled with older version of Swift language (3.0) than previous files (4.0) file "
Could you please help me?
Use the xcworkspace to build instead of the xcproject?
This usually happens when using Cocoapods and you are building from the xcproject which doesn't know about the cocoapod libraries.
Delete the derived data and do a clean build.
And if you are building a framework, make sure you've selected Generic IOS Device while building or set the Build for Active Architecture only as true in Build Settings.
I think this happens because you changed your app name or maybe the target
look to solve this problem see your target in Podfile
and then come back to your xcode in the targets
select your target app and in linked Frameworks and Libraries (the last one down) see if there's
any pods with light color and a strange name than your target in the podfile
and remove it using the minus button down .
I'd rather fix the specific problem, but if none of the other answers worked a full reset can solve it. If you are getting this error and you are also getting error readouts that refer to "duplicate symbol files", AND all other efforts have failed, then a full reset could work for you.
What worked for me:
Read the error report to identify the repo that supposedly contains duplicate files.
Drag repo to the trash.
re-clone your repo.
set up your repo with correct remote tracking. git remote add <url.git>, or git remote set-url <url.git>
This absolutely worked for me. In my case for some elusive reason, when I ran git pull upstream develop for a local dependency, git would pull in/generate duplicate files from multiple commits.
After following the above steps, the issue went away and git pull upstream develop was no longer pulling from multiple commits at once. Perhaps there was a weird git cache for my repo.
I had the two copies of files in the codebase. Deleting one copy helped code to build successfully
I am probably late for you, but for future devs in problems...
If you have been manipulating the podfile or creating new targets or maybe changing the name of any of them, check that in build phases options your just have correct pod framework for the name of the targets.
if you have pod
first clean project and close Xcode then open terminal and go to folder of Project then pod update
open the project and run
in my case work!
I fixed this problem today by running the app in the simulator using the target associated with the bundle file named in the Build Settings-->Bundle Loader setting of the test target. Previously I had deleted my derived data folder while working on a different target that has a different Product Name than the one associated with the test target bundle file. Rerunning the app in the simulator must have recreated the bundle file in the derived data folder that the test target is looking for and then my tests started running fine.
i have installed firebase cocoapods through terminal in my project , when i install the pods it shows me warning whether to use $ inherited in flags or remove target from build settings. I have tried both cases but i got an error of unknown argument -swift. when i remove the $ inherited from other flags option in build settings it gives error on configuration of firebase, I'm stuck to this condition whole week but couldn't found any solution. My pods file is under a screenshot,
Your pod quotes are not as expected, open in a different text editor and edit them.
Change them as its here:
target 'PK.HouseUITests'
I started getting this error only after upgrading from Xcode 8.2 to Xcode 8.3, and only when making an archive build (debug builds work fine).
When I do the archive via Xcode, the only message I get is "Linker command failed with exit code 1 (use -v to see invocation).
I build with the command line xcodebuild -scheme MyProduct
When I built this way, I found a number of issues (again, only when doing Archive):
I had to add import UIKit to practically every swift file.
all the pods had issues
remove everything from app-Bridging-Header.h
add a few things back into app-Bridging-Header.h
My current issue is with the AWS pod, using version 2.5.3
So my app-Bridging-Header.h has #import <AWSS3/AWSS3.h>
Here is the error from the command line build:
error: 'AWSS3/AWSS3.h' file not found with <angled> include; use "quotes" instead
#import <AWSS3/AWSS3.h>
^
The error log continues after that. I also tried the crazy suggestion of switch in the import to "AWSS3/AWSS3.h"...that didn't work either.
What is going on?
More INFO
This really appears to be an issue with one of my pods. I built a new solution, imported a subset of my pods and everything built. Then when I updated with the full list of pods it broke.
For me it is coming due to Bitcode enable in my project and i have used a custom framework with disabled bitcode.
Two things you can do :
Either disable bitcode in your project
OR
Build framework with bitcode enable
NOTE: If you click on error and it doesn't show anything then right click on error and select Reveal in Log. You will get error for this issue
At long last I was able to figure out this was a pod issue...just had to figure out which one it was.
I created a brand new project and started adding my pods in one by one (actually, 3 by 3...one by one would have taken too long).
Conclusion: localytics 4.3.1 has a bug in it somewhere. I downgraded to 4.3.0 and the problem went away.
I got a problem like this. My suggestion is that you should remove the version of 8.3 and download any old version from this link: https://developer.apple.com/download/more/
I hope that it will work.
I am getting a "Linker command failed with exit code 1 (use -v to see invocation)". As far as I understand, it is telling me that I am missing some framework.
1. I have added all the frameworks manually:
:
After cleaning and trying again, the error still persists but it complains about another framework!
2. I have also set the 'Search Path' in 'Build Settings' to recursive:
Every time I try and built it on my ipad I get the same error but complaining about a different framework despite 1&2. Has come across this?
I am working on Xcode Version 7.3.1
The error screenshot:
Directort Structure:
UPDATED Search Path:
I think that Can You check Project Target>Buil Phases>Link Binary with librarys in more than one time it is define or podfile is define multiple time some frameworks.
I was having the same issue w/ my project. I install my pods via CocoaPods, once I open up the workspace project created, I import the modules to the file. At first there will be an error, but once you Build the project, it will sweep the error. That's how I fixed my issue.
In the end, removing the all the problematic frameworks (those starting with QT) allowed me to build the app and didn't cause any noticeable issues. Its not a particularly satisfying solution, but it worked ...