New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Realm and CFBundleExecutable #30

Open
amirrajan opened this Issue Oct 2, 2017 · 3 comments

Comments

Projects
None yet
2 participants
@amirrajan
Owner

amirrajan commented Oct 2, 2017

http://community.rubymotion.com/t/submission-to-app-store-fails-error-itms-90171-invalid-bundle-structure/2199/3

My app builds fine, but when I submit it to the app store, the application loader fails with:

ERROR ITMS-90171: "Invalid Bundle Structure - The binary file 'MYAPP.app/Intercom.framework/Versions/A/Intercom' is not permitted. Your app can’t contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. Refer to the Bundle Programming Guide at https://developer.apple.com/go/?id=bundle-structure for information on the iOS app bundle structure."

I need to add strip-frameworks.sh to the build process, per intercom's docs, but I don't know how to do this in rubymotion. help?

from https://github.com/intercom/intercom-ios :

Manual Installation

  1. Download Intercom for iOS and extract the zip.
  2. Go to your Xcode project's "General" settings. Drag Intercom.framework to the "Embedded Binaries" section. Make sure "Copy items if needed" is selected and click Finish.
  3. Create a new "Run Script Phase" in your app’s target’s "Build Phases" and paste the following snippet in the script text field:
    bash "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/Intercom.framework/strip-frameworks.sh"

This step is required to work around an App Store submission bug when archiving universal binaries.

@spnkr

This comment has been minimized.

Show comment
Hide comment
@spnkr

spnkr Oct 8, 2017

Contributor

I fixed it! But this is a hack:

I pasted the source of strip-frameworks.sh into the top of /Users/me/MYSPECIALAPP//vendor/Pods/Target\ Support\ Files/Pods-RubyMotion/Pods-RubyMotion-resources.sh, and then did rake archive:distribution

Aside: How/where is the Pods-RubyMotion-resources.sh file generated?

Contributor

spnkr commented Oct 8, 2017

I fixed it! But this is a hack:

I pasted the source of strip-frameworks.sh into the top of /Users/me/MYSPECIALAPP//vendor/Pods/Target\ Support\ Files/Pods-RubyMotion/Pods-RubyMotion-resources.sh, and then did rake archive:distribution

Aside: How/where is the Pods-RubyMotion-resources.sh file generated?

@amirrajan

This comment has been minimized.

Show comment
Hide comment
@amirrajan

amirrajan Oct 8, 2017

Owner

Aside: How/where is the Pods-RubyMotion-resources.sh file generated?

https://github.com/HipByte/motion-cocoapods/blob/master/lib/motion/project/cocoapods.rb#L502

I fixed it! But this is a hack:

Hey hey. Hacks are the first steps to a solid solution :-D

Owner

amirrajan commented Oct 8, 2017

Aside: How/where is the Pods-RubyMotion-resources.sh file generated?

https://github.com/HipByte/motion-cocoapods/blob/master/lib/motion/project/cocoapods.rb#L502

I fixed it! But this is a hack:

Hey hey. Hacks are the first steps to a solid solution :-D

@amirrajan

This comment has been minimized.

Show comment
Hide comment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment