-
-
Notifications
You must be signed in to change notification settings - Fork 112
Description
Attempting to build passforios for the first time, following the build instructions, the compilation works and the app starts up on the simulator, but crashes immediately with:
dyld: Library not loaded: @rpath/ObjectivePGP.framework/ObjectivePGP
Referenced from: /Users/user/Library/Developer/CoreSimulator/Devices/[snip]/data/Containers/Bundle/Application/[snip]/pass.app/pass
Reason: image not found
Looking into why, when pod install
is run, the Cocoapods Embed Pods Frameworks
object gets removed from the pass.xcodeproj/project.pbxproj
file. Without this present, the ObjectivePGP pod is presumably unknown to Xcode and thus isn't linked in. I could manually add in the ObjectivePGP.framework
into the target's General settings in Xcode and that would work but that would be working around the actual problem.
Here's what my .pbxproj file looks immediately after running pod install
-- this is a fresh clone after running the carthage
commands and pod install
, before even opening the workspace in Xcode:
diff --git a/pass.xcodeproj/project.pbxproj b/pass.xcodeproj/project.pbxproj
index 63acbc4..2536e5a 100644
--- a/pass.xcodeproj/project.pbxproj
+++ b/pass.xcodeproj/project.pbxproj
@@ -814,7 +814,6 @@
A260757C1EEC6F34005DB03E /* Sources */,
A260757D1EEC6F34005DB03E /* Frameworks */,
A260757E1EEC6F34005DB03E /* Resources */,
- 6AEAED0AF4328940B21EAC44 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -874,7 +873,6 @@
DC917BEC1E2F3659000FDF54 /* Run Script */,
A26700191EEC450100176B8A /* Embed App Extensions */,
A26075921EEC6F34005DB03E /* Embed Frameworks */,
- 7F5ED3FD24ED627DC957D425 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -1067,26 +1065,6 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 6AEAED0AF4328940B21EAC44 /* [CP] Embed Pods Frameworks */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${SRCROOT}/Pods/Target Support Files/Pods-passKitTests/Pods-passKitTests-frameworks.sh",
- "${PODS_ROOT}/ObjectivePGP/Frameworks/ios/ObjectivePGP.framework",
- "${PODS_ROOT}/ObjectivePGP/Frameworks/ios/ObjectivePGP.framework.dSYM",
- );
- name = "[CP] Embed Pods Frameworks";
- outputPaths = (
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjectivePGP.framework",
- "${DWARF_DSYM_FOLDER_PATH}/ObjectivePGP.framework.dSYM",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-passKitTests/Pods-passKitTests-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
- };
736C6F64F90A20CB9A00B420 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -1105,26 +1085,6 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 7F5ED3FD24ED627DC957D425 /* [CP] Embed Pods Frameworks */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${SRCROOT}/Pods/Target Support Files/Pods-pass/Pods-pass-frameworks.sh",
- "${PODS_ROOT}/ObjectivePGP/Frameworks/ios/ObjectivePGP.framework",
- "${PODS_ROOT}/ObjectivePGP/Frameworks/ios/ObjectivePGP.framework.dSYM",
- );
- name = "[CP] Embed Pods Frameworks";
- outputPaths = (
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjectivePGP.framework",
- "${DWARF_DSYM_FOLDER_PATH}/ObjectivePGP.framework.dSYM",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-pass/Pods-pass-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
- };
94AA4FCF7FF3474A970BE194 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
I'm not familiar with the internals of Cocoapods but is this expected behaviour? I'm using v1.6.1 of Cocoapods. Attempting a pod deintegrate && pod install
made no difference, just regenerating a bunch of other references in the .pbxproj file but still the Embed Pods Frameworks
references get deleted.