{"action":"created","issue":{"url":"https://api.github.com/repos/CocoaPods/CocoaPods/issues/3092","labels_url":"https://api.github.com/repos/CocoaPods/CocoaPods/issues/3092/labels{/name}","comments_url":"https://api.github.com/repos/CocoaPods/CocoaPods/issues/3092/comments","events_url":"https://api.github.com/repos/CocoaPods/CocoaPods/issues/3092/events","html_url":"https://github.com/CocoaPods/CocoaPods/issues/3092","id":56075073,"number":3092,"title":"0.36.0.Beta.2: Pods-Framework-umbrella.h generation breaks LLDB symbol lookup","user":{"login":"chrisco314","id":7182365,"avatar_url":"https://avatars.githubusercontent.com/u/7182365?v=3","gravatar_id":"","url":"https://api.github.com/users/chrisco314","html_url":"https://github.com/chrisco314","followers_url":"https://api.github.com/users/chrisco314/followers","following_url":"https://api.github.com/users/chrisco314/following{/other_user}","gists_url":"https://api.github.com/users/chrisco314/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisco314/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisco314/subscriptions","organizations_url":"https://api.github.com/users/chrisco314/orgs","repos_url":"https://api.github.com/users/chrisco314/repos","events_url":"https://api.github.com/users/chrisco314/events{/privacy}","received_events_url":"https://api.github.com/users/chrisco314/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/CocoaPods/CocoaPods/labels/Frameworks","name":"Frameworks","color":"e11d21"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/CocoaPods/CocoaPods/milestones/25","html_url":"https://github.com/CocoaPods/CocoaPods/milestones/0.37.0","labels_url":"https://api.github.com/repos/CocoaPods/CocoaPods/milestones/25/labels","id":942620,"number":25,"title":"0.37.0","description":"","creator":{"login":"mrackwitz","id":1389011,"avatar_url":"https://avatars.githubusercontent.com/u/1389011?v=3","gravatar_id":"","url":"https://api.github.com/users/mrackwitz","html_url":"https://github.com/mrackwitz","followers_url":"https://api.github.com/users/mrackwitz/followers","following_url":"https://api.github.com/users/mrackwitz/following{/other_user}","gists_url":"https://api.github.com/users/mrackwitz/gists{/gist_id}","starred_url":"https://api.github.com/users/mrackwitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrackwitz/subscriptions","organizations_url":"https://api.github.com/users/mrackwitz/orgs","repos_url":"https://api.github.com/users/mrackwitz/repos","events_url":"https://api.github.com/users/mrackwitz/events{/privacy}","received_events_url":"https://api.github.com/users/mrackwitz/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":0,"state":"open","created_at":"2015-01-19T21:29:15Z","updated_at":"2015-02-25T13:54:04Z","due_on":null,"closed_at":null},"comments":14,"created_at":"2015-01-30T19:37:10Z","updated_at":"2015-03-05T23:26:30Z","closed_at":null,"body":"### Description\r\n\r\nUsing Cocoapods 0.36.0.Beta.2, you can build a mixed language framework, and run it in a client.\r\n\r\nHowever, symbols are not available in the client, with LLDB giving errors like this:\r\n\r\n\terror: Error in auto-import:\r\n\tfailed to get module 'MixedMacClient' from AST context:\r\n\t/Users/User/Library/Developer/Xcode/DerivedData/MixedMacClient-clluilwecswymtbkmocqdqhbgxvd/Build/Products/Debug/Pods/Mixed.framework/Headers/Pods-Mixed-umbrella.h:3:9: note: in file included from /Users/User/Library/Developer/Xcode/DerivedData/MixedMacClient-clluilwecswymtbkmocqdqhbgxvd/Build/Products/Debug/Pods/Mixed.framework/Headers/Pods-Mixed-umbrella.h:3:\r\n\t#import \"Mixed.h\"\r\n\t...\r\n\r\nIt is interesting to note, that deleting this line from the file generated in the build output directory like:\r\n\r\n\tBuild/Products/Debug/Pods/FrameworkName.framework/Versions/A/Headers/Pods-FrameworkName-umbrella.h\r\n\r\ndoes not break the building process, but does allow client code to see both Swift and Obj-C symbols in the framework.  I am not sure if this amounts to complete symbol information, but it is a pronounced improvement:\r\n\r\n\t(lldb) po swiftFoo\r\n\t0x0000618000042f40\r\n\t(name = \"Swift\")\r\n\r\nAlso note, that the existing bug #3062 in which cocoapods incorrectly strips symbols during deployment of debug builds, exposes a crash bug in Xcode during symbol lookup.  To get the symbol data above, and to avoid Xcode's crash bug, you must first clear the strip-symbols on copy setting.\r\n\r\n### Steps to Reproduce:\r\n\r\n1. Download project at this link:\r\nhttps://www.dropbox.com/s/trhe5vwhzoa9bf5/umbrella_file_breaks_symbol_lookup.tar.gz?dl=0\r\n2. Run app, it should stop at the break point on `println(\"done\")`:\r\n\r\n\t\tlet swiftFoo = SwiftPublicFoo(name:\"Swift\")\r\n\t\tswiftFoo.fooDo()\r\n\r\n\t\tlet objFoo = ObjectiveFoo(name: \"Objective-C\")\r\n\t\tobjFoo.fooDo()\r\n\t\t\r\n\t\t->\tprintln(\"done\")\r\n\r\n3. type `po swiftFoo`, as above\r\n4. see baseline, broken case as in first output\r\n\r\n### Steps to Workaround\r\n\r\n5. open generated Pods-Mixed-umbrella.h, comment out include for `\"Mixed.h\"`\r\n6. run app again, type `po swiftFoo`, note that symbol lookup now works.\r\n\r\nThis may well be an Xcode bug, but the fact that you deleting the include fixes the debugger issue while not affecting the build, suggests that this problem can be avoided."},"comment":{"url":"https://api.github.com/repos/CocoaPods/CocoaPods/issues/comments/77475052","html_url":"https://github.com/CocoaPods/CocoaPods/issues/3092#issuecomment-77475052","issue_url":"https://api.github.com/repos/CocoaPods/CocoaPods/issues/3092","id":77475052,"user":{"login":"chrisco314","id":7182365,"avatar_url":"https://avatars.githubusercontent.com/u/7182365?v=3","gravatar_id":"","url":"https://api.github.com/users/chrisco314","html_url":"https://github.com/chrisco314","followers_url":"https://api.github.com/users/chrisco314/followers","following_url":"https://api.github.com/users/chrisco314/following{/other_user}","gists_url":"https://api.github.com/users/chrisco314/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisco314/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisco314/subscriptions","organizations_url":"https://api.github.com/users/chrisco314/orgs","repos_url":"https://api.github.com/users/chrisco314/repos","events_url":"https://api.github.com/users/chrisco314/events{/privacy}","received_events_url":"https://api.github.com/users/chrisco314/received_events","type":"User","site_admin":false},"created_at":"2015-03-05T23:26:30Z","updated_at":"2015-03-05T23:26:30Z","body":"@orta \r\n\r\nCan / should we split this into a separate issue for removing the pods-level search paths, or could just this portion be fixed?  That would fix the LLDB errors and potentially enable symbol lookup (Xcode permitting).  \r\n\r\nThe separate issue of the umbrella file override could still be an Xcode bug, and is possible to work around.  But out of the gate, it seems imperative that Cocoapods doesn't break anything obvious - the erroneous header includes (detailed above).  If just these could be removed, then it would unblock debugging - at least to the extent that Xcode supports it.\r\n\r\nThanks."}}