I just added a new device to the provisioning portal, generated certificate, mobileprovision, etc. My keychain has the certificate in it, my device has the app's profile on it, and there's a green checkmark underneath Status. In the build status tab of the project underneath Code Signing Identity both Debug and Release say "currently matches [my information]". However, when I try to run the app on my phone I get "A valid provisioning profile for this executable was not found."
Extra information that may or may not be relevant: The app was running in the simulator but when I tried to build it for the iPhone I got the Mach-O linker problem with armv7 architecture because I hadn't linked the necessary frameworks. So I created a new target and added the appropriate files. This target does say that my Code Signing Identity matches, and it's where I got the bundle identifier to generate the provisioning.
I have tried cleaning and building again.