Showing posts with label adhoc. Show all posts
Showing posts with label adhoc. Show all posts

Tuesday, October 4, 2011

Application Failed Codesign Verification

Submission to App Store wasn't as easy as I thought in previous blog. Not really surprised, but this problem was tough to solve. Not tough as in hard to fix, but as hard to figure out:
Application failed codesign verification.  The signature was invalid, or it was not signed with an Apple submission certificate. (-19011)

Wednesday, September 7, 2011

How to Do Dynamic Debug Logging in Released Application

Remote debugging can be really difficult, especially for released applications. You can't send ad hoc releases to everyone! Would love that, with service like TestFlight, but normal Apple iOS developer account can register only max 100 devices.

So what can you do?

Thursday, June 9, 2011

Testing TestFlight

Started last night beta testing my few small but simple applications. In past I've done ad hoc releases and distribution manually and was not really looking forward to do it again.

Then I was told about TestFlight. It's beatiful. It's user-friendly. It works. And then some more!

Wednesday, January 26, 2011

Process 1018 Exceeded 500 Log Message Per Second Limit

Just found this new error code from iPhone console log:
Tue Jan 25 15:52:19 unknown App Name[1018] <Error>: *** process 1018 exceeded 500 log message per second limit  -  remaining messages this second discarded ***

Tuesday, November 16, 2010

Code Sign error: Provisioning profile can't be found

Check what is Info.plist Bundle Identifier, go to Apple iOS provision portal and download related App ID provision file and install. Note that if you're not Team Admin, you have to ask someone else to download the file for you.

Actual error code shows also cryptic mobileprovision id, but that won't help you much:
Code Sign error: Provisioning profile '123456F8-1234-1234-ABCD-ABCDEFGH1234' can't be found

The executable was signed with invalid entitlements (install)

This is not the error with EXACTLY same error note you get during ad hoc release creation in Xcode (see here). This one comes, when you try to install that "successfully" created ad hoc release into device.

OPEN, no idea what went wrong or how to fix. Yet.

Monday, November 15, 2010

Everything That Can Go Wrong With Xcode Build and Release

Right now I'm in the middle of serious mess up of my Xcode development environment, can't create ad hoc builds. No idea what triggered it, thus no idea what or how to fix. Since same error notes keep popping up time after time, I start documenting each. Maybe I'll slowly gather enough info to fix something.

Xcode error notes:
Useful articles:
Useful sites:
Have patience, try again, just keep bumbing your head into wall, no pain no gain, good luck, it works for me, wave the rubber chicken above monitor... yep, I know: none of it helps.

You have sympathy. It won't help either.

Command /usr/bin/codesign failed with exit code 1

Select your project root in Xcode, command-i for Info, go to Configurations tab, delete old "Ad Hoc" configuration, duplicate Release and rename as "Ad Hoc". Rebuild and i installs and runs on connected device.

Problem might have been due space in name (even when it used to work earlier).

Thursday, July 22, 2010

How to Solve Ad Hoc release "value not permitted by a provisioning profile"

Ever since I submitted an application to App Store I've had lots of problems creating Ad Hoc release. Though first fix was simple, it's not a complete solution.

Error messages are:

Thu Jul 22 11:46:34 jouni-iDevice installd[643] : entitlement 'keychain-access-groups' has value not permitted by a provisioning profile

Thu Jul 22 11:46:34 jouni-iDevice installd[643] : entitlement 'application-identifier' has value not permitted by a provisioning profile
...
Thu Jul 22 11:47:06 jouni-iDevice SpringBoard[28] : Application 'Zattr' exited abnormally with signal 11: Segmentation fault

This time the solution was found in TUAW article "devsugar: A better way to share ad-hoc builds".

Summary: instead of normal Build use Build and Archive, find your application, find the last date, press Share Application button and - The Critical Phase - verify your identity is your Ad Hoc Distribution Provisioning Profile. Save locally and install e.g. via iPhone Configuration Utility.

...suspect Ad Hoc release problem is caused by having two different provisioning profile files using same application id. I generate three applications (development, release test, public) from same sources with some compile time flags and different provisioning profiles and app ids. Guess code signing identities got mixed.

Thursday, July 15, 2010

How to Accept Self-Signed Server Certificate

We have public server, test server and release test server. Likewise I generate three different binaries, each connecting to different server. The problem is that test servers have self-signed certificates and iPhone fails by default in NSURLConnection sendSynchronousRequest. The error note is:

ERROR CODE -1202 = The certificate for this server is invalid. You might be connecting to a server that is pretending to be “xx.xx.xxx.xxx” which could put your confidential information at risk.
The solution with iOS4 is this one line:
#if (defined(TEST_VERSION) || defined(RELEASE_TEST_VERSION))
    [NSURLRequest setAllowsAnyHTTPSCertificate:YES
                                       forHost:[url host]];
#endif
    [NSURLConnection sendSynchronousRequest:request 
                          returningResponse:&response
                                      error:&error];
Please note that the specific line is undocumented class method and thus not used in official release, only for testing with simulator or ad hoc releases.

To remove compiler warning add this at the beginning of your file:
#if (defined(TEST_VERSION) || defined(RELEASE_TEST_VERSION))
@interface NSURLRequest (DummyInterface)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host;
+ (void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString*)host;
@end
#endif
More info at Dr. Touch article: Ignoring Certificate Errors on NSUrlRequest.

iOS5 update: this code might (or maybe not) help a little from my blog article Server API change from HTTP to HTTPS

Friday, July 2, 2010

Entitlement 'keychain-access-groups' has value not permitted by a provisioning profile

You build and install application you are developing and fail with a flash without any obvious error note. Using iPhone Configuration Utility you're device's Console contain something like this:
Fri Jul 2 10:26:23 jouni-iDevice installd[6313] : entitlement 'keychain-access-groups' has value not permitted by a provisioning profile
Fri Jul 2 10:26:23 jouni-iDevice installd[6313] : entitlement 'application-identifier' has value not permitted by a provisioning profile
The reason is that you have previously installed your application from App Store and overwriting app binary with a developer version is not enough.

Quick fix is to delete the application from device, then build and install again.

Thursday, June 10, 2010

Apple AppStore submit observations

Read docs a dozen times, but somehow missed these:
  • Keywords can be max 100 characters - including spaces and commas
  • Select "None" for first rating to get immediately 4+ rated
  • CFBundleShortVersionString in the Info.plist file must be a period-separated list of at most three positive integers. You cannot use e.g. "1.0.0 (1)" format, except in ad hoc releases
  • Large icon filename must end with .jpeg .jpg .tif .tiff .png. It's not about file format, but filename
  • Upload screenshots in reverse order, the first shall be last