Reputation: 71
I have been trying to update an iOS client app now for the past 2 weeks, unfortunately it has been rejected twice as Apple say that it crashes on iOS7. Apple have sent me the following crash report.
Incident Identifier: C213974C-73E2-42C4-A2AA-E4C2A454319E
CrashReporter Key: 2c5d5176cc4387265bd86c427bf138d2b0acfe38
Hardware Model: xxx
Process: Twlight Sports [502]
Path: /var/mobile/Applications/2B9ED7B5-787E-48ED-AAEC-3DEF87A86C67/Twlight Sports.app/Twlight Sports
Identifier: com.twilightsports.twilightsports
Version: 1.2 (1.2)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-09-27 15:22:18.784 -0700
OS Version: iOS 7.0 (11A465)
Report Version: 104
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000000e7ffdefe
Triggered by Thread: 0
Dyld Error Message:
Library not loaded: /Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit
Referenced from: /var/mobile/Applications/2B9ED7B5-787E-48ED-AAEC-3DEF87A86C67/Twlight Sports.app/Twlight Sports
Reason: image not found
Dyld Version: 324
Binary Images:
0x2beed000 - 0x2bf0d78a dyld armv7 <b37cba000c7d3f8ea414f060d45ce144> /usr/lib/dyld
I removed all references to SenTestingKit
in my project and submitted the app update again.
A week later I received the exact same crash report from Apple.
I then created an AdHoc
very of the same binary I sent to Apple and deployed this onto my iPhone 4S and iPad 2. Both devices work fine without crashing.
I have appealed the rejection hoping Apple will test the app again, they have however rejectd the appeal simply stating that it is still crashing and not offering any more help. At the moment I am at a loss because I cannot replicate the crash and therefore cannot fix it.
I also have CocoaPods running in my workspace, with the Kiwi TDD pod installed. This has references to But the Pods Build target does not have SenTestingKit.framework in its Link Binary With Libraries
Upvotes: 3
Views: 2116
Reputation: 71
Well.....
To fix the issue I basically had to remove CocoaPods from my workspace, Remove the test target and test scheme, I resubmited the app last Thursday and it has just been accepted today.
It was a pretty desperate attempt at a fix and I think the culprit was the fact that Apple was running the test scheme on my project which I didnt properly setup. After removing the Kiwi Cocoapods looks like it fixed whatever was requesting the SenTestingKit framework
Upvotes: 1
Reputation: 6365
You can examine your app binary with otool
before re-submitting to know whether or not it links SenTestingKit
. otool -L
will list the linked libraries for a Mach-O binary.
For example, Xcode links:
% otool -L /Applications/Xcode.app/Contents/MacOS/Xcode
/Applications/Xcode.app/Contents/MacOS/Xcode:
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 20.0.0)
@rpath/DVTFoundation.framework/Versions/A/DVTFoundation (compatibility version 1.0.0, current version 3532.0.0)
@rpath/DVTKit.framework/Versions/A/DVTKit (compatibility version 1.0.0, current version 3546.0.0)
@rpath/IDEFoundation.framework/Versions/A/IDEFoundation (compatibility version 1.0.0, current version 3569.0.0)
@rpath/IDEKit.framework/Versions/A/IDEKit (compatibility version 1.0.0, current version 3591.0.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1052.0.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1247.0.0)
You can run this on your app store binary by creating an App Store build, copying the .ipa
to a folder somewhere. Rename the .ipa
to .zip
. Open the .zip
file, then run otool -L
on the binary inside the app, probably something like this: (this is iBooks)
% cd iBooks\ 3.1.3/Payload/iBooks.app
% otool -L iBooks
iBooks:
/usr/lib/liblockdown.dylib (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/StoreKit.framework/StoreKit (compatibility version 1.0.0, current version 1.0.0)
/System/Library/PrivateFrameworks/Celestial.framework/Celestial (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AssetsLibrary.framework/AssetsLibrary (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 992.0.0)
/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 2372.0.0)
/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics (compatibility version 64.0.0, current version 600.0.0)
/System/Library/PrivateFrameworks/iTunesStoreUI.framework/iTunesStoreUI (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/MediaPlayer.framework/MediaPlayer (compatibility version 1.0.0, current version 1.0.0)
/System/Library/PrivateFrameworks/iTunesStore.framework/iTunesStore (compatibility version 1.0.0, current version 1.0.0)
/System/Library/PrivateFrameworks/StoreServices.framework/StoreServices (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/QuartzCore.framework/QuartzCore (compatibility version 1.2.0, current version 1.8.0)
/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices (compatibility version 1.0.0, current version 14.0.0)
/System/Library/PrivateFrameworks/AppSupport.framework/AppSupport (compatibility version 1.0.0, current version 29.0.0)
/System/Library/PrivateFrameworks/WebKit.framework/WebKit (compatibility version 1.0.0, current version 536.26.0)
/System/Library/Frameworks/CoreData.framework/CoreData (compatibility version 1.0.0, current version 419.0.0)
/System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore (compatibility version 1.0.0, current version 536.26.0)
/System/Library/Frameworks/CFNetwork.framework/CFNetwork (compatibility version 1.0.0, current version 609.0.0)
/System/Library/PrivateFrameworks/WebCore.framework/WebCore (compatibility version 1.0.0, current version 536.26.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/PrivateFrameworks/Bom.framework/Bom (compatibility version 2.0.0, current version 189.0.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/System/Library/Frameworks/CoreText.framework/CoreText (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libAccessibility.dylib (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices (compatibility version 1.0.0, current version 40.0.0)
/usr/lib/libsqlite3.dylib (compatibility version 9.0.0, current version 9.6.0)
/System/Library/Frameworks/MessageUI.framework/MessageUI (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AVFoundation.framework/AVFoundation (compatibility version 1.0.0, current version 2.0.0)
/System/Library/Frameworks/ImageIO.framework/ImageIO (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration (compatibility version 1.0.0, current version 499.0.0)
/System/Library/Frameworks/Security.framework/Security (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox (compatibility version 1.0.0, current version 359.0.0)
/usr/lib/libicucore.A.dylib (compatibility version 1.0.0, current version 49.1.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 173.8.0)
/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 793.0.0)
And look for SenTestingKit
in the list for your app's binary.
Upvotes: 2
Reputation: 7344
The information you posted is very limited, however I'd start with the following steps:
I assume the app doesn't launch but crashes on launch. It this case I'm not sure if the TestFlight will help you much, instead I think there might be a difference between your Debug and Release configurations that causes the SenTestKit to be used by the later.
Upvotes: 1
Reputation: 108
I faced similar problem where app was working fine in my device but rejected by apple. It was saying some file in a package was corrupted. When I set the permission for read, write and execute for all users and submitted the app again, it was approved. It might be one of the reason in your case. Please try by setting permission and re-create binary and submit it.
Upvotes: 0