bugfender / BugfenderSDK-iOS

Bugfender SDK for iOS, a remote logger tailor-made for mobile
https://bugfender.com
Other
76 stars 30 forks source link

Missing Info.plist in unittest target #27

Closed ObjectAlchemist closed 7 years ago

ObjectAlchemist commented 7 years ago

Tried to integrate Bugfender 1.4.2 today manually (without cocoapods, we do not use that). Application builds fine but TestTarget run into following error (copy from bitrise):

2017-05-02 04:17:39.987 xcodebuild[1341:8325] Error Domain=MIInstallerErrorDomain Code=35 "Failed to load Info.plist from bundle at path /Users/vagrant/Library/Developer/CoreSimulator/Devices/DB8627C8-9A2D-4BAF-B24C-F66CFB484360/data/Library/Caches/com.apple.mobile.installd.staging/temp.VOF8eq/extracted/iXhibitor.app/Frameworks/BugfenderSDK.framework" UserInfo={LegacyErrorString=PackageInspectionFailed, FunctionName=-[MIBundle _validateWithError:], SourceFileLine=37, NSLocalizedDescription=Failed to load Info.plist from bundle at path /Users/vagrant/Library/Developer/CoreSimulator/Devices/DB8627C8-9A2D-4BAF-B24C-F66CFB484360/data/Library/Caches/com.apple.mobile.installd.staging/temp.VOF8eq/extracted/iXhibitor.app/Frameworks/BugfenderSDK.framework}

After a long investigation we noticed that we embedded the framework in both targets as we normally do with every cocoa touch framework since iOS 8 published that possibility. If we only link the framework (without embedding) everything works fine, but we expected a crash at runtime because of the missing framework. WTF! How is that possible? It seems it looks like a framework, but in reality it's a static lib?

If linking the framework means it's automatically embedded, how do we link it without embedding it into one of our own frameworks? I think that should give us some nice duplicate symbols than, or?

Can you approve that it isn't a cocoa touch framework please? And if yes, you should definitely add that information to the documentation. From our perspective it's a bug others will run into.

ObjectAlchemist commented 7 years ago

Not sure, but that may be the reason for #3

jgimenez commented 7 years ago

Hi @ObjectAlchemist , the framework is a static framework, which is essentially a static library + headers in a specific format. Please follow the installation instructions and it will work properly.