问题
I'm trying to send my iOS app to the App Store right now. It compiles fine and installs onto my test device without a single error or even warning. I have an Apple Watch App that is going to go along with it but it seems to be giving me problems. When I create the Archive of the app, I get the following 5 warnings:
[App Name] WatchKit Extension
warning: skipping copy phase strip, binary is code signed: /Users/***/Library/Developer/Xcode/DerivedData/***/Build/Intermediates/ArchiveIntermediates/***/IntermediateBuildFilesPath/UninstalledProducts/*** Watch App.app/_WatchKitStub/WK
warning: skipping copy phase strip, binary is code signed: /Users/***/Library/Developer/Xcode/DerivedData/***/Build/Intermediates/ArchiveIntermediates/***/IntermediateBuildFilesPath/UninstalledProducts/*** Watch App.app/*** Watch App
[App Name]
warning: skipping copy phase strip, binary is code signed: /Users/***/Library/Developer/Xcode/DerivedData/***/Build/Intermediates/ArchiveIntermediates/***/IntermediateBuildFilesPath/UninstalledProducts/*** WatchKit Extension.appex/*** Watch App.app/_WatchKitStub/WK
warning: skipping copy phase strip, binary is code signed: /Users/***/Library/Developer/Xcode/DerivedData/***/Build/Intermediates/ArchiveIntermediates/***/IntermediateBuildFilesPath/UninstalledProducts/*** WatchKit Extension.appex/*** Watch App.app/*** Watch App
warning: skipping copy phase strip, binary is code signed: /Users/***/Library/Developer/Xcode/DerivedData/***/Build/Intermediates/ArchiveIntermediates/***/IntermediateBuildFilesPath/UninstalledProducts/*** WatchKit Extension.appex/*** WatchKit Extension
And then it's proceeded with this error:
Anyone else having these issues? Any help would be very appreciated!
回答1:
I had both of these problems when I created my WatchKit app.
(1) For your first problem: warning: skipping copy phase strip.
I found the solutions here:
Warning during archive App with iOS 8 Extension in Xcode 6
and here:
Xcode 6 Archiving and get a warning "Skipping copy phase strip ,binary is code signed" when add "share extension" to target
Specifically, here are the steps I used to fix the problem:
Start Xcode and open your project.
Select the blue project icon in the upper-left-hand corner.
In second column that contains sections: PROJECT and TARGETS, select your main target under the TARGETS section.
Select the “Build Settings” tab.
Scroll down to the “Deployment” section.
Find and expand the section called “Strip Debug Symbols During Copy”
Find the row called "Release".
Change the value from "Yes" to "No".
(2) For your second problem: Failed to locate or generate matching signing assets The solutions are here:
No matching provisioning profiles found for WatchKit extension when submitting to App Store
and here:
Submit WatchKit Provisioning Error
I had to regenerate the "Distribution" Provisioning Profile that I was using to submit my entire app, before I included the WatchKit extension. Specifically, these steps fixed my problem:
I logged onto developer.apple.com, selected "Certificates, Identifiers & Profiles".
- On the Certs IDs & Profiles website > Provisioning Profiles page, click the App Store profile.
- Click 'Edit'
- Click 'Generate'
回答2:
I have a solution that worked (for me)
First: Just make sure that you enabled all services that you used on your app on your (Watch Kit App) and (Watch Kit Extension),
For example if you used iCloud on your native app, you should enable iCloud on your (Watch Kit App) and (Watch Kit Extension) even if you didn't use iCloud on your watch app.
Same goes for app groups..
Second: Make sure the bundle identifier on (Watch Kit App) and (Watch Kit Extension) has to extend the native app,
For example if the app com.company.myapp
the (Watch Kit App) identifier should be: com.company.myapp.watchkitapp
and on (Watch Kit Extension) should be: com.company.myapp.watchkitextension
Hope this helps.
来源:https://stackoverflow.com/questions/29553794/watchkit-extension-provisioning-profile