[Bug 772035] New: Apple Sandbox and Appstore Upload issue.

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Sep 27 08:33:10 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=772035

            Bug ID: 772035
           Summary: Apple Sandbox and Appstore Upload issue.
    Classification: Platform
           Product: GStreamer
           Version: 1.x
                OS: Mac OS
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: don't know
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: bamzunee at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Hi, GStreamer,

Thanks for your comment. 

I have a few more Inquiries regarding Appstore Upload.(AppSandbox)

Streamer version : 1.6.4(using cerebra universal build)
build platform : mac OS X 10.11 el capitan

GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-plugin-scanner
GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-ptp-helper

Regarding Bug 771860 (https://bugzilla.gnome.org/show_bug.cgi?id=771860), I
sorted out TestCase 1~3 Codesign problem with your help.
StackOverFlow(https://stackoverflow.com/questions/25950544/codesign-what-are-unsealed-contents)

However, I couldn't sort out TestCase 4 with
StackOverFlow(https://stackoverflow.com/questions/25950544/codesign-what-are-unsealed-contents)

There is a "TestCase 4" of Bug771860 AppLoader error down below

 - AppLoader Upload Error : 
    ERROR ITMS-90296: "App sandbox not enabled. The following executables must
include the "com.apple.security.app-sandbox" entitlement with a Boolean value
of true in the entitlements property list: [(
"com.myplayer.osx.pkg/Payload/MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-plugin-scanner",
"com.myplayer.osx.pkg/Payload/MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-ptp-helper"
)] Refer to App Sandbox page at
https://developer.apple.com/devcenter/mac/app-sandbox/ for more information on
sandboxing your app."
      ERROR ITMS-90260: "Bad Bundle Executable. You must include a valid
CFBundleExecutable key in the nested bundle osx-framework
[com.myplayer.osx.pkg/Payload/MyApp.app/Contents/Frameworks/GStreamer.framework]
property list file."
      ERROR ITMS-90261: "Bad CFBundleExecutable. Cannot find executable file
that matches the value of CFBundleExecutable in the nested bundle osx-framework
[com.myplayer.osx.pkg/Payload/MyApp.app/Contents/Frameworks/GStreamer.framework]
property list file."

To sort out this error,  I did some tests down below.

Test1
 1) I changed osx-framework to GStreamer in
GStreamer.framework/Resources/Info.plist Modify
   -> Bundle name, Bundle identifier 
 2) Codesign
 - Terminal Input Command(Codesign for GStreamer.framework/Versions/1.0/lib
Directory) :
find MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/ -name
*.dylib | while read a ; do codesign —verbose —sign '3rd Party Mac Developer
Application: My ID' ${a}; done & find
MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/ -name *.so |
while read b ; do codesign —verbose —sign '3rd Party Mac Developer Application:
My ID' ${b}; done | codesign —verbose —sign '3rd Party Mac Developer
Application: My ID'
MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer
 - Terminal Input Command(Codesign for MyApp, MyFramework.framework,
GStreamer.framework) : 
codesign —all-architectures -f —deep -s '3rd Party Mac Developer Application:
My ID' —entitlements "MyApp.entitlements" "MyApp.app"
 3) Try AppLoader Upload
  - Make PKG File and Upload : 
    -> Result : Fail
    -> Error Message : ERROR ITMS-90260: "Bad Bundle Executable. You must
include a valid CFBundleExecutable key in the nested bundle osx-framework
[com.myplayer.osx.pkg/Payload/MyApp.app/Contents/Frameworks/GStreamer.framework]
property list file."

But, I Fixed One Error(ERROR ITMS-90261: "Bad CFBundleExecutable. Cannot find
executable file that matches the value of CFBundleExecutable in the nested
bundle osx-framework
[com.myplayer.osx.pkg/Payload/MyApp.app/Contents/Frameworks/GStreamer.framework]
property list file.")

Test2.
 1) I changed osx-framework to GStreamer in
GStreamer.framework/Resources/Info.plist Modify
   -> Bundle name, Bundle identifier 
 2) Codesign
 - Terminal Input Command(Codesign for GStreamer.framework/Versions/1.0/lib
Directory) :
find MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/ -name
*.dylib | while read a ; do codesign —verbose —sign '3rd Party Mac Developer
Application: My ID' ${a}; done & find
MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/ -name *.so |
while read b ; do codesign —verbose —sign '3rd Party Mac Developer Application:
My ID' ${b}; done | codesign —verbose —sign '3rd Party Mac Developer
Application: My ID'
MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer
 - Terminal Input Command(Codesign for
GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-plugin-scanner) :
codesign -f -v -s '3rd Party Mac Developer Application: My ID' —entitlements
"MyApp.entitlements"
"MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-plugin-scanner"
 - Terminal Input Command(Codesign for
GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-ptp-helper) :
codesign -f -v -s '3rd Party Mac Developer Application: My ID' —entitlements
"MyApp.entitlements"
"MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-ptp-helper"
 - Terminal Input Command(Codesign for MyApp, MyFramework.framework,
GStreamer.framework) : 
codesign —all-architectures -f —deep -s '3rd Party Mac Developer Application:
My ID' —entitlements "MyApp.entitlements" "MyApp.app"
 3) Try AppLoader Upload
  - Make PKG File and Upload : 
    -> Result : Succes
But, My app could not be executed.

Test3.
I succeed uploading but the app was not able to use. Therefore I tested again
to find a reason.

 1) I changed osx-framework to GStreamer in
GStreamer.framework/Resources/Info.plist Modify
   -> Bundle name, Bundle identifier 
 2) Codesign
 - Terminal Input Command(Codesign for GStreamer.framework/Versions/1.0/lib
Directory) :
find MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/ -name
*.dylib | while read a ; do codesign —verbose —sign '3rd Party Mac Developer
Application: My ID' ${a}; done & find
MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/ -name *.so |
while read b ; do codesign —verbose —sign '3rd Party Mac Developer Application:
My ID' ${b}; done | codesign —verbose —sign '3rd Party Mac Developer
Application: My ID'
MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer
 - Terminal Input Command(Codesign for
GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-plugin-scanner) :
codesign -f -v -s '3rd Party Mac Developer Application: My ID'
"MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-plugin-scanner"
 - Terminal Input Command(Codesign for
GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-ptp-helper) :
codesign -f -v -s '3rd Party Mac Developer Application: My ID'
"MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-ptp-helper"
 - Terminal Input Command(Codesign for MyApp, MyFramework.framework,
GStreamer.framework) : 
codesign —all-architectures -f —deep -s '3rd Party Mac Developer Application:
My ID' —entitlements "MyApp.entitlements" "MyApp.app"
 3) Try AppLoader Upload
  - Make PKG File and Upload : 
    -> Result : Fail
    -> Error Message : ERROR ITMS-90260: "Bad Bundle Executable. You must
include a valid CFBundleExecutable key in the nested bundle osx-framework
[com.myplayer.osx.pkg/Payload/MyApp.app/Contents/Frameworks/GStreamer.framework]
property list file."

But, My app can be executed.

it worked well with applying codesign on gat-plugin-scanner and gst-ptp-helper
but when codesign and sandbox are applied, it was failed.

How can I sort out this issue?
Please let me know, if you have any question.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list