Apple Sandbox and Appstore Upload issue

bumjun-kim bamzunee at gmail.com
Tue Sep 27 08:29:36 UTC 2016


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.



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Apple-Sandbox-and-Appstore-Upload-issue-tp4679808.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list