求助:关于提交程序到 Mac App Store - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
HeartJ
V2EX    iDev

求助:关于提交程序到 Mac App Store

  •  
  •   HeartJ 2015-09-25 23:44:09 +08:00 4127 次点击
    这是一个创建于 3670 天前的主题,其中的信息可能已经有所发展或是发生改变。

    新手一枚,在 os x 上开发了一个程序准备提交到 Mac App Store 。
    开发环境, OS X 10.9.5 , xcode 6.1.1 。
    提交之后,被拒了几次,拒绝信息如下

    2.2 - Apps that exhibit bugs will be rejected Here is how we found this bug: The app produces no users interface or windows when launched. There is no apparent menus or items to display a main wiondow. 

    似乎是程序启动后没有界面。

    提交程序做了以下操作:
    1 、在 Member Center 中
    (1). 添加了 app id
    (2). 创建了 certificate ,类型为 Production: Mac App Store ,下载病安装
    (3). 创建 Provisioning Profile ,类型为 Distribution: Mac App Store ,下载并安装

    2 、在 xcode 中,

    (1). TARGETS->General->Identity->Singing ,选择 Mac App Store; Team 选择我的开发者帐号 (2). TARGETS->Build Settings->Code Singing->Code Singing identity->Release ,选择 3rd Party Mac Developer Application; Provisioning Profile ,选择在 Member Center 中创建的文件 

    程序仅启用了 Sandbox ,没有使用 icloud 等功能。

    在 Archive 之后, Validate 可通过, Submit 也通过。

    不明白问题出在什么地方?

    后来在 Archive 之后, Export 进行测试。
    在使用 distribution 类型的 certificate 和 provisioning file 进行 Export ,

    (1). Export a Developer ID-signed Application ,程序可以运行,进入软件的操作界面 (2). Save for Mac App Store Deployment ,程序 crash ,错误提示“ code Signature invalid ” (3). Export as a Mac Installer Package, 程序 crash ,错误提示“ code Signature invalid ” (4). Export as a Mac Application, 程序 crash ,错误提示“ code Signature invalid ” 

    查看文档,发现在本机测试提交到 Mac App Store 上的程序时,使用 Export 时的签名文件应该用 Development 类型的,于是又重新 Export ,使用的是 Development 类型的 certificate 和 Provisioning file ,

    (1). Export a Developer ID-signed Application ,程序可以运行,进入软件的操作界面 (2). Save for Mac App Store Deployment ,程序 crash ,错误提示“ code Signature invalid ” (3). Export as a Mac Installer Package, 程序 crash ,错误提示“ code Signature invalid ” (4). Export as a Mac Application, 程序可以运行,进入软件的操作界面 

    请各位大侠帮帮忙,指点一下,到底是哪出了问题? Apple 拒绝是因为签名的问题,还是因为代码的问题?
    如果是代码的问题,应该怎么去排查?因为在本机上要么因为“ code Signature invalid ”程序崩溃,要么就可以正常启动程序。

    先谢谢大家了,已经被这个问题困扰好久了。

    15 条回复    2015-12-12 22:54:04 +08:00
    wzqcongcong
        1
    wzqcongcong  
       2015-09-26 10:21:00 +08:00
    看 Apple 回复是说你的 app 启动后用户看不到任何界面啊~你的 app 长啥样~
    wzqcongcong
        2
    wzqcongcong  
       2015-09-26 10:36:11 +08:00
    @wzqcongcong ,还有,你打包出的 package 用 3rd Party Mac Developer Installer 签名了吗?
    HeartJ
        3
    HeartJ  
    OP
       2015-09-26 11:24:50 +08:00 via iPhone
    请大家帮忙看看什么原因,谢谢。
    HeartJ
        4
    HeartJ  
    OP
       2015-09-26 11:33:09 +08:00
    @wzqcongcong 界面是类似文本编辑器的样子,有输入区域和一些按钮。
    在 export 出 package 时,有一个 Summary 界面, Singing identity 显示采用的是 3rd Party Mac Developer Installer 。刚开始用 V2EX ,不知道怎么贴图。抱歉。
    code4life
        7
    code4life  
       2015-09-26 13:22:12 +08:00
    There is no apparent menus or items to display a main wiondow.
    你没给程序做菜单?这个不符合苹果的界面设计规范的
    wzqcongcong
        9
    wzqcongcong  
       2015-09-26 20:22:11 +08:00
    @HeartJ 从 Export 截图里看,你的 pkg 应该用 3rd Party Mac Developer Installer 签名,而不是 3rd Party Mac Developer Application ,这个是用来给 app 签的。
    HeartJ
        10
    HeartJ  
    OP
       2015-09-29 19:33:03 +08:00
    @wzqcongcong 您好,我看到了指出的问题。我想试着用 3rd Party Mac Developer Installer 来签名,但是我在 member center 中没找到在哪里可以创建使用“ Mac Installer Distribution ”的 provisioning file ,只能创建“ Mac App Distribution ”的 provisioning file 。
    另外,“ The app produces no users interface or windows when launched. There is no apparent menus or items to display a main window ”。这句话的意思是我的程序启动的时候就 crash 了,还是可以启动,但启动后什么也没有?
    谢谢。
    wzqcongcong
        11
    wzqcongcong  
       2015-09-29 20:29:35 +08:00
    @HeartJ pkg 本身的签名不需要 provisioning file 啊,它又不是 app ,直接用 cert 来签啊,我们就是这样的。至于审核的现象到底怎样,可以考虑邮件问问苹果,让它给你截个图啥的~。我觉得如果直接 crash 的话,应该能看到一个弹出框的,但审核的人好像没提到这个。
    HeartJ
        12
    HeartJ  
    OP
       2015-09-30 18:34:36 +08:00
    @wzqcongcong 今天已经问苹果了,是 crash 了还是可以启动但没有界面的问题。
    用 cert 来签名 pkg 怎么做,麻烦指点一下,谢谢。
    HeartJ
        13
    HeartJ  
    OP
       2015-10-02 01:09:20 +08:00
    @code4life
    @wzqcongcong
    刚刚收到 apple 的回复

    The app launches but no UI appears. No crashes or logs are generated. The user must quit the app via File > Quit DraftNote since no other actions are possible.

    应该是 app 可以启动,但是不会显示用户界面的意思吧。这一般是因为什么引起的呢?因为在本地测试是可以启动的啊。
    code4life
        14
    code4life  
       2015-10-02 15:31:02 +08:00
    从这句来看 The user must quit the app via File > Quit DraftNote since no other actions are possible. 程序是在后台的,就是不被显示。你的界面应该有什么机制控制主界面的显示或隐藏吧?

    苹果这个封闭环境有利有弊,这种情况只能依赖他们给你更多地信息去判断了。
    HeartJ
        15
    HeartJ  
    OP
       2015-12-12 22:54:04 +08:00
    问题目前搞清楚了。我更新了系统到 OSX 10.11.1 , Xcode 更新为 7.1.1 。 Apple 反馈给我的无界面的问题复现了,经过排查,是因为为 NSFont 赋值的时候,内容为 nil 。当时使用的字体是 Simsun ,跟新系统后,没有这个字体,所以界面就会卡住。现在,这个问题已经解决。但在提交的过程中,又遇到了新的问题, ls 两位大哥,如果有空的话,请帮忙看看。谢谢了。
    @code4life
    @wzqcongcong
    新问题: http://www.v2ex.com/t/243119#reply0
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5467 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 42ms UTC 01:24 PVG 09:24 LAX 18:24 JFK 21:24
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86