How do I archive Xcode project? - xcode

I am currently having issues when attempting to archive my project in Xcode. The following error below appears when archiving:
The link Xcode 12 Error: Multiple commands produce AccessibilityResources.bundle mentions to remove React-Core.common-AccessibilityResources from my target but I do not have this under my target. Can someone please assist?
I am using Xcode version 12.1.
This is what I have in the workspace settings:
Thank you.
I changed the derived data location but still getting the same error:
I am now seeing the below error after updating my Podfile.
Current error:
Updated Podfile:

Have a try with the below solution.
Initially clean the build cache data with the below steps:
You can go to File > Workspace Settings if you are in a workspace environment or File > Project Settings for a regular project environment.
Then click over the little grey arrow under the Derived data section and select your project folder and close the workspace and Xcode then delete the project directory from the derived data directory.
Open the workspace again in Xcode and clean and rebuild the project.
Also, make sure that you have applied pod install after the package installation.
Then, open workspace and set the active scheme as Any ios Device (arm64, armv7)
Click on Project from top Xcode Menu
Then select Archive.
Have a break till the Archive process completes.
Remove the below lines from PodFile:
use_flipper!()
post_install do |installer|
flipper_post_install(installer)
end
and do pod install in ios directory.

Related

Podfile.lock: No such file or directory

I have scavenged all over the internet trying different solutions to solve this issue however none of the pod install or cocoapods update worked then clean and build worked. This xcode project was created from an exported Unity3d project and the podfile, podfile.lock, and pods folder was already created when I exported the project.
Here's the error screen. There is also a warning which says the debug.xcconfig couldn't be opened because there is no such file however it does exist and the path to it is correct and the configuration tab in the build settings doesn't let me select anything but none:
Here's the podfile I have:

Multiple targets for project in xcode

I am using xcode 7.3.1. After pod update, it's showing multiple project target in the project having same details without any change. How can I fix this? If I delete any one of these, xcode crashes and when we reopen even the other option comes in red and we dont have any project.
Have you tried to delete the workspace file and the pod directory, and re-launch a pod install ? The workspace file does not hold any important information to be retained in CocoaPods.
If you have the same problem after regenerating, it means there is an error in the Pod file.

Xcode 7.2 successful archives will not show in organizer, but will show in archives folder about derived data folder

I am using Cocoapods 0.39.0 and Xcode 7.2, I have a project that archives successfully but does not populate in organizer. When I tested my podfile in a blank project the archive showed up in the Organizer just fine.
While trying to troubleshoot this I found that there was an Archives folder above Derived Data. There I actually found all the .xcarchive files of the project that won't show up in the Organizer.
When clicking on the file details, I also noticed that the working Archive had a size (228.3 MB for the test project) but my main project I want working has a size of 0 bytes.
Figured it out.
Searched Installation Directory in Build Settings
Removed #executable_path/../Frameworks as the value for Installation Directory
Typed the following for the Installation Directory $(LOCAL_APPS_DIR)
Reference: "Xcode successfully archived my application, but the Archives Organizer does not list my archive" section https://developer.apple.com/library/ios/technotes/tn2215/_index.html
In XCode Project\Targets\Build Settings make sure
Skip Install = NO
for your Archive scheme, if you created one, or Release scheme
In my case (Xcode 8.3.3), the Installation Directory was pointing to /Applications which seemed correct, so that wasn't the issue. What worked was:
1. restart Xcode
2. Product ➞ Clean
3. delete the whole 'Derived Data' folder (to see where it is: Xcode ➞ Preferences... ➞ Locations ➞ Derived Data)
4. Product ➞ Clean
I had the same problem when I created debug build pointing to our QA environment.
Debug build was just Zero byte.
As #kareem mention above I figure that release/distributio build are having path as /Applications.
I just duplicated for my debug build and bingo !!!
Yes you can add /Application instead of current value which was '#executable_path/../Frameworks'
This way if you archive your debug build, you will have actual archive just like release build
All credit goes to kareem. I just try to enhanced by adding another prespective.
Easiest step that worked for me.
Delete folder Derived Data (to see where it is: Xcode ➞ Preferences... ➞ Locations ➞ Derived Data)
Generate the archive, select the Xcode ➞ Product ➞ Archive
Once the process is complete the archive will be displayed in the Archive screen of the Organizer dialog.
I was also facing the same issue in Xcode 12.4 then I tried with the method #kareem said.
But after that as well was not resolved.
One of the pod framework in my project is enabled for the App Extension as well. So I removed it from pod and installed using Swift Package Manager.
This resolved my issue.
Afterward I tried another way:
Also I modified the podfile like below and reintal and it worked:
target 'ProjectName'
do
use_frameworks!
. . .
target 'ProjectNameBroadcast'
do
inherit! :search_paths
end
target 'ProjectNameBroadcastSetupUI'
do
inherit! :search_paths
end
end
1. Clean
2. Build
Worked for me.

Xcode: ld: library not found for -lAFNetworking

Because of this one reason, build always fails...Any ideas about what I could try?
EDIT: the solution is to open the xcworkspace instead of the xcproject!
Might be you are opening .xcodeproj file after installing pods. Close the project and open .xcworkspace file.
Have the same issue.
What I did with the help of https://premium.wpmudev.org/forums/topic/anybody-solved-this-linker-command-failed-with-exit-code-1 and Adlair Cerecedo-Mendez
Delete the "Pods" project on the left panel of Xcode.
Close Xcode and delete this file in the finder too.
Install pods again.
Open Xcode and clean.
Verify that the build option "Build Active Architecture Only" is set to "NO" for your project but also for your Pods project (selection with left panel).
Click on your project Scheme (top, near the stop button) and "Manage Scheme".
Check, select all your pods libraries and close.
Then, for all libs, select them (scroll the list) and build manually for the selected architecture.
Every time you change your architecture (simulator, device or for archive(Generic iOS Device)) you must do the above step: namely, manually build each libraries by selecting them in your scroll list one by one, and only than build and run your main project.
Seems a bit WTF, but it is the only way I resolve this issue...
I Had this Issue several Times with PODS Libraries.
Here is something you can Try:
Run pod cache clean --all and pod install again.
Check your Header Search Paths and Library Search Paths, Remove all entries and place $(PROJECT_DIR) in recursive mode and $(inherited) as a Second Entry
Go to your target Build Settings -> Other linker flags -> double click . Add $(inherited) to a new line.
Make sure Build Active Architecture Only is set to NO in the Pods project settings.
I'm thinking on two possibilities:
1) Install cocoapods-deintegrate project:
$ gem install cocoapods-deintegrate
Then run $ pod deintegrate, after that run $ pod install again. If it not works, then...
2) You can try open your Pods project and create new scheme for the target that you need, in this case for AFNetworking.
When the static library is created, then add it to your Frameworks references into your main project.
Hope that helps.
I have in project->TARGETS->Build Phases ->Link Binary With Libraries one "extra" framework that remains from recent project. Delate it and all run smoothly
Had a similar issue ... took a while to realize that I had updated my app's "iOS Deployment Target" to iOS 9.0, but the Pods project's "iOS Deployment Target" was still iOS 8.0!!!
I encountered this error when I downloaded some code from github. I tried to build .xcodeproj file but it failed giving the library not found error. I then opened .xcworkspace file and build that file first by clicking Product -> Build for -> Running. The workspace file built fine with no errors. Then in workspace file I changed scheme to the xcode project I was trying to build, and clicked Product -> Run. The app got built and ran with no errors.
I had this issue while using fastlane with a ReactNative project. I had added a dependency that required cocoapods.
My Fastfile looked like this:
...
gym(
scheme: "AppName",
project: "./ios/AppName.xcodeproj"
)
....
And had to change it to the workspace like this:
...
gym(
scheme: "AppName",
workspace: "./ios/AppName.xcworkspace"
)
...
For me all this thing not help. Only delete in Build settings project.
open xcode, from the top left select the pod library that is being shown as not found.Use 'Command B' to build this pod, then again select your target scheme and run.
For me this fixed it.
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.

How do I configure my project for Cocoa Pods correctly?

In some of my past projects, Cocoa Pods wasn't configured correctly and it would lead to undesirable things such as needing duplicate Cocoa Pod projects in the Project Navigator, or pod files having to be checked in to version control.
How do I install Cocoa Pods correctly and verify that my Directory structure and Project Navigator structures are set up properly?
The best way to use Cocoa Pods is to follow the official example's lead.
This consists of several steps.
Setting up Cocoa Pods for the first time
1. Install Cocoa Pods on your computer
Begin with the Getting Started Guide to install Cocoa Pods on your computer.
2. Create a Podfile
Do not create the Podfile in Xcode, since it should not be part of your project!
Create the file in your favorite text editor, and save it at the same level as your .xcodeproj file.
An example of a Podfile's contents are:
pod 'CupertinoYankee', '~> 1.0'
3. Run pod install
Navigate to your Podfile's directory in terminal and run pod install.
4. Open the generated workspace
Once you run pod install, you will see a message such as:
[!] From now on use MyProject.xcworkspace.
Close the Xcode project, and open up the generated .xcworkspace file.
Understanding the Changes
It is always useful to know what changes were made to your project in case things go wrong.
1. Directory structure
You should have started with a structure such as:
... then manually added a Podfile:
After running pod install, your directory structure now looks like this:
Notice how the only new objects are:
MyProject.xcworkspace
Podfile.lock
Pods
2. Project Navigator
In Xcode, you started with this:
... and ended with this in the new workspace:
For reference, here is an expanded look at the new directory structure:
Obviously, the Pods project was added to the Project Navigator, but there are a few other key things to notice:
Notice how Podfile is located at the root of the MyProject folder in Finder, but is inside of the Pods project in Xcode's project navigator.
Likewise, notice how Pods.xcconfig is located inside the Pods folder in Finder, but is inside of the MyProject in Xcode's project navigator.
3. Configurations
These are the same screenshots as before:
In Xcode, you started with this:
... and ended with this in the new workspace:
Notice how under Configurations, the "MyProject" target now has Pods specified.
This is important because otherwise PODS_ROOT will not be set up properly (among other things), and when you build, you will get errors.
4. PODS_ROOT added
Your target's Build Settings went from this: (Note: this is scrolled all the way down)
... to this:
Notice how PODS_ROOT was added as a User-Defined setting.
Note: this part of the configuration sometimes gets bugged out when reinstalling Pods, so you may need to close and open the Xcode project to fix it.
5. Other changes
You can see a complete list of the changes here.
In my case: On my project SwiftLint was added on Build Phasees -> SwiftLint as below image My root Folder structure was Volume/Project Files/iOS Project Files/Office Projects/project-name. As you can see there were space on my Directory structure , SwiftLint executed on build phase create problem for those space and show a no directory found error. After changing the high level directory by renaming like the below image solved my problem

Resources