xCode exclude watchkit extension for submitting - xcode

I wrote an app using watchkit and wanted to submit it yesterday after Apple releases iOS 8.2. Unfortunately I got to know here on stackoverflow, that apps using watchkit are not allowed to be submitted yet...
I do think that my app is also good as a standalone iPhone app and would like to submit the watchkit part as an update as soon as it's possible.
What is the best way to exclude the watch extension from my archive I want to submit? I don't want to build up a whole new project if possible.
I tried unchecking the "Target Membership" of the Extension.appex in my products folder. I then got this error:
How can I exclude the watch extension the right way?

If you want to exclude the WatchKit extension from your app, you just need to remove their targets from the targets list in your project. And remove their related files and groups.

Related

XCode Archive for app store Submission

i have several apps in the AppStore but now i am struggling with one of the apps submission.
I added to my app the chart module, and i used AMCharts for that, so to make it work, i added the AMChartLibrary project into my project, and everything works fine either usgin the simulator and the device itself for testing, and now I am ready to submit the new version to appstore and then the nightmare starts
When i run the archive to create the file to be submitted, it falls under Other Items instead iOS Apps, this disables the button "Upload to App Store", my best guess is that the AMChart library can be used for MAC and iOS apps, and for some reason the xCode organizer is not identifying it as iOS app...
I know i am missing something, but i am not finding it.
Thanks
Problem solved, i should change the skip install for the subproject under Build Settings.

Application's new version uploaded on iTune with internal testing enabled not appearing on Testflight app

I have released one version on my Application on iTune and is in process to release second one. Now I have uploaded the the .ipa file of the application and switching on for internal testing. But the application is not appearing on Testflight app of internal tester. I am uploading the .ipa file through Xcode 6.1 and also trying with Xcode 6.3.
When you upload the app on iTunes, then you can not add new IPA in existing version of app.
Make sure that for your app you have turned the switch ON for TestFlight Beta Testing.
Once done with that go to Internal Testers tab and check the internal testers from the list and invite them. Thats it! Hope it helps :]
Cheers!
If you've uploaded a build for the next/new version, you should see it at the top of the list of builds under the "Prerelease" menu for your app.
Assuming you're Build is in the list, check the "Internal" column for that build. If it says "Invite Testers", then that build is not yet active. What you probably need to do then is click the build number and make sure all the fields are filled out - especially "What to Test" - and then click the Save button. When you go back to the Builds list, it should now say "Active (30 Days Left)" under Internal. And should show up for testers in the TestFlight app.
I've noticed that sometimes I need to go through this process for a new build (even on a version I've already been testing) and sometimes I don't. I haven't found the pattern but it's tripped me up several times.

WatchKit Upload

I am trying to submit my WatchKit app t iTunesConnect. I click "Archive" and then validate and I am shown the message below. I have created an App Id for the app, extension and WatchKit App as well as distribution profiles.
Where am I going wrong?
Thanks
To properly sign a watch app, you need three different App IDs and each App ID needs a provision profile.
Go to Developer Member Center
Add/Edit the three App IDs:
One for your main App bundle, you may need to add the entitlements you need, like App Groups, Keychain Access Group.
One for your watchkit extension bundle, you may need to add the entitlements you need.
One for your watchkit app bundle. No entitlements needed.
Delete the distribution provision profiles for the three App IDs, if they already exists.
Add three new distribution provision profiles for the three App IDs.
Now go back to Xcode, open Preference and go to Accounts.
Choose your Apple ID, click View Details on the bottom right.
Click the refresh button on the bottom left, wait for the list of provision profiles to change.
In Build Settings for all your targets, configure the Code Signing part as below.
Try Archive again.
When you submit your app, XCode will ask you to confirm the provision profile it uses to sign each of your bundles. You need to be sure that the provision profile names match those you configured in Developer Member Center.
I have uploaded one app to itunesconnect with watch app.
This is very simple. You need to create 3 appstore provisioning profiles and the bundle identifier for the extention and watchApp are like
com.abc.app - Phone app
com.abc.app.extention - Extention
com.abc.app.watchapp - watch app
and also sync app group in capabilities tab in all 3 targets.
All are well.
you just needs to create Archive for only Phone App (Main Target). That's It. When user will download your app. And if phone have attached Watch then this will automatically get informed to you for watchapp download.
Judging by the screenshot, it looks like your profiles need to have the missing entitlements (beta-reports-active, keychain-access-groups) added to them.
You will need to create a provisioning profile for the watchkit extension as well as the provision that you have for your app.
If you download the Apple Lister App Code Sample there is a guide to getting started that show you everything that you need to do to setup your app to work properly on a device with Apple Watch.
https://developer.apple.com/library/ios/samplecode/Lister/Introduction/Intro.html
Click on the Download Sample Code button, and in that folder there is a file called iOS and Watch Quick Start.pdf
Using XCode 6.3 solved the problem to me.
I previously used 3 provisionning profiles for watch apps
source : Watchkit Extension - No matching provisioning profiles found

How can I remove Watchkit from my App?

I want to remove Apple Watchkit from my App until the new version of IOS is released. This is so I can upload releases of the App until we can upload Watchkit based Apps.
I deleted the 2 Folders:
Twoater WatchKit Extension
Twoater Watchkit App
I then deleted the two Targets of the same name.
I built the App successfully.
I then tried to run the simulator and got a LaunchError = 0.
So something somewhere is not correct.
Did I remove the Watchkit in the correct way or is there a better way of doing it to ensure that all config files are properly adjusted ?
What you're doing is quite a bit overboard.
You should just create two separate schemes: one which includes the WatchKit App Extension and App (for testing for iOS 8.2) and one that doesn't include it (for testing with iOS 8.1 and submitting to the store).
You'll need to provide more details on your error running in the sim. See An error was encountered while running (Domain = LaunchServicesError, Code = 0)

How do I exclude an IOS 8 app extension from a build?

I am building two versions of my app from the same code base, one for IOS 7/8 and one that is IOS 8 only. I would like to exclude the extension from the 7/8 applications but include it in the IOS 8 version. I've looked in the info.plist, the build phases and the schemes for the apps and the extension and have found no references to either.
I'm sure I'm missing something simple. Any hints?
I've looked in the info.plist, the build phases and the schemes for the apps and the extension and have found no references to either.
Look again? The setting that controls whether an app includes an extension is in the build phases for the app. By default it's called "Embed App Extensions", but you can rename it to whatever you like.
Select the extension(s) and click the "-" button at the bottom.
You probably also want to remove the extension from the target dependencies for the 7/8 app.

Resources